//MessageBean.java
//一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式
//给客户发一个感谢消息
package examples.Message;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.ejb.*;
import javax.naming.*;
import javax.jms.*;
import java.util.*;
import java.text.*;
import javax.mail.*;
import javax.activation.*;
import javax.mail.internet.*;
//Download by http://www.codefans.net
//消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener
public class MessageBean implements MessageDrivenBean,
MessageListener {
private transient MessageDrivenContext context = null;
//一个不带参的构造函数
public MessageBean() {}
//在对象创建的过程中将被容器调用
public void setMessageDrivenContext(MessageDrivenContext context)
{
this.context = context;
}
// onMessage函数方法接收消息参数,将其强制转型为合适的消息类型
//同时打印出消息的内容。同时一个mail note将被发送给消息发送者
public void onMessage(javax.jms.Message msg) {
try {
if (msg instanceof MapMessage) {
MapMessage map = (MapMessage) msg;
System.out.println("Order received: ");
System.out.println ("Order ID: " + map.getString("OrderID") + " Item ID: "
+ map.getInt("ItemID") + " Quanity: " + map.getInt("Quantity")
+ " Unit Price: " + map.getDouble("UnitPrice"));
sendNote (map.getString("emailID"));
}
else {
System.out.println ("wrong message type");
}
} catch (Throwable te) {
te.printStackTrace();
}
}
//发送一个e-mail通知给由recipient参数确定的e-mail账号
private void sendNote(String recipient) {
try {
//得到名字上下文
Context initial = new InitialContext();
// 查询mail 服务器的会话
javax.mail.Session session = (javax.mail.Session) initial.lookup("java:comp/env/MailSession");
//创建一个新的mail对象
javax.mail.Message msg = new MimeMessage(session);
//设置mail的属性
msg.setFrom();
msg.setRecipients(javax.mail.Message.RecipientType.TO, InternetAddress.parse(recipient, false));
msg.setSubject("Order Confirmation");
DateFormat dateFormatter
= DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT);
Date timeStamp = new Date();
String messageText = "Thank you for your order." + '\n'
+ "We received your order on " + dateFormatter.format(timeStamp) + ".";
msg.setText(messageText);
msg.setSentDate(timeStamp);
//发送mail消息
Transport.send(msg);
} catch(Exception e) {
throw new EJBException(e.getMessage());
}
}
public void ejbCreate() {}
public void ejbRemove() {}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于java的开发源码-Message-Driven Bean EJB实例源代码.zip
共4个文件
xml:2个
java:2个
0 下载量 126 浏览量
2024-01-08
21:38:01
上传
评论 1
收藏 4KB ZIP 举报
温馨提示
基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于java的开发源码-Message-Driven Bean EJB实例源代码.zip (4个子文件)
codefans.net
Message-Driven Bean
MessageClient.java 3KB
jboss.xml 551B
ejb-jar.xml 2KB
MessageBean.java 3KB
共 4 条
- 1
资源评论
毕业_设计
- 粉丝: 1921
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功