//send email when received the message
//还要注意:两个MDB同时连接到一个dest,当发送消息时,先发布的那个MDB收到消息,而第二个MDB收不到消息package exam;import javax.ejb.*;
import javax.jms.*;
import javax.naming.*;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;
import java.util.*;
public class NotifyMDBBean implements MessageDrivenBean, MessageListener {
MessageDrivenContext messageDrivenContext;
public void ejbCreate() throws CreateException {
/**@todo Complete this method*/
}
public void ejbRemove() {
/**@todo Complete this method*/
}
public void onMessage(javax.jms.Message msg) {
/**@todo Complete this method*/
TextMessage tmsg = (TextMessage) msg;
try{
String strmsg = tmsg.getText();
System.err.println(strmsg);
StringTokenizer st = new StringTokenizer(strmsg,"-");
String to = "[email protected]";
String flg = "";
//if (st.hasMoreTokens()) {
flg = (String)st.nextElement();
//to = (String)st.nextElement();
to = (String)st.nextElement();
//}
String from = "[email protected]";
String subject = "";
String message = ""; if (flg.equals("fail")) {
subject = "sorry,your enroll failed";
message = "sorry,your enroll fails, please reenroll.";
}else if (flg.equals("succeed")){
subject = "your enroll succeed";
message = "congratulations,your enroll succeed, we will send you the password and examid a few days later";
}
System.err.println(to);
System.err.println(flg);
try {
// Get the Naming context
Context ctx = new InitialContext(); // Lookup Mail Session
Session mailSession = (Session) ctx.lookup("MailSession"); // Create New Internet Message Object
javax.mail.Message mailmsg = new MimeMessage(mailSession); // Create New Internet Address for Destination
//to = "[email protected]";
InternetAddress dest = new InternetAddress(to); // Set Parameters for Message:
mailmsg.setFrom(new InternetAddress("[email protected]"));
mailmsg.setSubject(subject);
mailmsg.setRecipient(Message.RecipientType.TO, dest);
mailmsg.setContent(message, "text/plain"); // Send the Message:
Transport.send(mailmsg); }
catch (Exception e) {
e.printStackTrace();
} }catch(JMSException e){
e.printStackTrace();
}
}
public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext) {
this.messageDrivenContext = messageDrivenContext;
}
}
//还要注意:两个MDB同时连接到一个dest,当发送消息时,先发布的那个MDB收到消息,而第二个MDB收不到消息package exam;import javax.ejb.*;
import javax.jms.*;
import javax.naming.*;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;
import java.util.*;
public class NotifyMDBBean implements MessageDrivenBean, MessageListener {
MessageDrivenContext messageDrivenContext;
public void ejbCreate() throws CreateException {
/**@todo Complete this method*/
}
public void ejbRemove() {
/**@todo Complete this method*/
}
public void onMessage(javax.jms.Message msg) {
/**@todo Complete this method*/
TextMessage tmsg = (TextMessage) msg;
try{
String strmsg = tmsg.getText();
System.err.println(strmsg);
StringTokenizer st = new StringTokenizer(strmsg,"-");
String to = "[email protected]";
String flg = "";
//if (st.hasMoreTokens()) {
flg = (String)st.nextElement();
//to = (String)st.nextElement();
to = (String)st.nextElement();
//}
String from = "[email protected]";
String subject = "";
String message = ""; if (flg.equals("fail")) {
subject = "sorry,your enroll failed";
message = "sorry,your enroll fails, please reenroll.";
}else if (flg.equals("succeed")){
subject = "your enroll succeed";
message = "congratulations,your enroll succeed, we will send you the password and examid a few days later";
}
System.err.println(to);
System.err.println(flg);
try {
// Get the Naming context
Context ctx = new InitialContext(); // Lookup Mail Session
Session mailSession = (Session) ctx.lookup("MailSession"); // Create New Internet Message Object
javax.mail.Message mailmsg = new MimeMessage(mailSession); // Create New Internet Address for Destination
//to = "[email protected]";
InternetAddress dest = new InternetAddress(to); // Set Parameters for Message:
mailmsg.setFrom(new InternetAddress("[email protected]"));
mailmsg.setSubject(subject);
mailmsg.setRecipient(Message.RecipientType.TO, dest);
mailmsg.setContent(message, "text/plain"); // Send the Message:
Transport.send(mailmsg); }
catch (Exception e) {
e.printStackTrace();
} }catch(JMSException e){
e.printStackTrace();
}
}
public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext) {
this.messageDrivenContext = messageDrivenContext;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货