Chinaunix首页 | 论坛 | 博客
  • 博客访问: 284251
  • 博文数量: 82
  • 博客积分: 2607
  • 博客等级: 少校
  • 技术积分: 785
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-14 15:23
文章分类

全部博文(82)

文章存档

2012年(4)

2010年(1)

2009年(2)

2008年(8)

2007年(34)

2006年(33)

我的朋友

分类: Java

2007-07-26 16:59:37

use javaMail in Jboss
1. 首先要配置Jboss的Mail服务
 修改deloy/mail-service.xml
 


 
 
 
               archives="mail.jar, activation.jar, mail-plugin.jar"/>
           name="jboss:service=Mail">
    Mail
    maojjtest
    test123
   
      
      
         
         
         
         
         
         
         
         
         
   
   
     
         
         
      
       jboss:service=Naming
   
 
 
2. 写一个sessionBean, 主要介绍一下ejb-jar.xml jboss.xml
这个程序是使用SessionBean 来调用Mail服务的
看看 如何引用Mail服务的
ejb-jar.xml
 xmlns:xsi=""
 xsi:schemaLocation=" "
 version="2.1">
 
  
 

 javamail
 
  
  
   
    
   

   ViaMail
   ViaMail
   com.viathink.mail.ViaMailHome
   com.viathink.mail.ViaMail
   com.viathink.mail.ViaMailLocalHome
   com.viathink.mail.ViaMailLocal
   com.viathink.mail.ViaMailSession
   Stateless
   Container
   
    mail/Mail
    javax.mail.Session
    Container
   

  
  
  
  
  
  
 
 
 
 
 
  
  
  
  
  
  
  
  
  
  
 

jboss.xml

  
    
     
         ViaMail
         ViaMail
         ViaMailLocal
       
       

     
   
  
 
   
      mail/Mail
      Mail
   

 

 
sessionBean
/**
 *
 */
package com.viathink.mail;
import java.rmi.RemoteException;
import java.util.Date;
import javax.ejb.EJBException;
import javax.ejb.SessionContext;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;

/**
 *
 *
 * A generated session bean
 *
 * *
 *
 * @ejb.bean name="ViaMail" 
 *           description="An EJB named ViaMail"
 *           display-name="ViaMail"
 *           jndi-name="ViaMail"
 *           type="Stateless"
 *           transaction-type="Container"
 *
 *
 * @generated
 */
public abstract class ViaMailBean implements javax.ejb.SessionBean {
 /**
  *
  *
  * @ejb.create-method view-type="remote"
  *
  * @generated
  *
  * //TODO: Must provide implementation for bean create stub
  */
 public void ejbCreate() {
 }
 /**
  *
  *
  * @ejb.interface-method view-type="remote"
  *
  * @generated
  *
  * //TODO: Must provide implementation for bean method stub
  */
 public String send(String param) {
  Exception mye = null;
  Session session = null;
  boolean result = true;
  try {
   session = (Session) PortableRemoteObject.narrow(new InitialContext().lookup("Mail"), Session.class);
  } catch (NamingException e) {
   mye = e;
   result = false;
   e.printStackTrace();
  }
  
  if (result) {
   System.out.println("*********************************************************");
  }
  
  if (session != null) {
   System.out.println("dgggggggggggggggggggggggggggggggggggggggggggggg");
  }
  
  try {
   MimeMessage m = new MimeMessage(session);
   m.setFrom();
      Address[] to = new InternetAddress[] {
        new InternetAddress("")
      };
     
      m.setRecipients(Message.RecipientType.TO, to);
      m.setSubject("JavaMail Test");
      m.setSentDate(new Date());
      m.setContent("Test form inside EJB using JBoss", "text/plain");
     
     
      Transport.send(m);
  } catch (MessagingException e) {
   mye = e;
   result = false;
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
    
  if (result) {
   
   return "send success!";
  }
  else {
   return "send fail\n" + mye.toString();
  }
 }
 /* (non-Javadoc)
  * @see javax.ejb.SessionBean#ejbActivate()
  */
 public void ejbActivate() throws EJBException, RemoteException {
  // TODO Auto-generated method stub
 }
 /* (non-Javadoc)
  * @see javax.ejb.SessionBean#ejbPassivate()
  */
 public void ejbPassivate() throws EJBException, RemoteException {
  // TODO Auto-generated method stub
 }
 /* (non-Javadoc)
  * @see javax.ejb.SessionBean#ejbRemove()
  */
 public void ejbRemove() throws EJBException, RemoteException {
  // TODO Auto-generated method stub
 }
 /* (non-Javadoc)
  * @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext)
  */
 public void setSessionContext(SessionContext arg0) throws EJBException,
   RemoteException {
  // TODO Auto-generated method stub
 }
 /**
  *
  */
 public ViaMailBean() {
  // TODO Auto-generated constructor stub
 }
}
jndi.propertise
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099
jnp.disableDiscovery=false
阅读(1738) | 评论(0) | 转发(0) |
0

上一篇:JBoss 集群配置

下一篇:shell 学习脚本

给主人留下些什么吧!~~