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
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) |