⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printbean.java

📁 jboss4 + Mysql +ejb3.0 EJB3 简单例子
💻 JAVA
字号:
/**
 * Copyright (c)上海烟草(集团)公司与上海康时信息系统有限公司。
 */
package com.myejb;

import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;


/**
 * 消息驱动Bean,当一个业务执行的时间很长时,而执行结果无需实时向用户反馈时,很适合用消息驱动Bean.消息驱动Bean对象被调用时会调用omMessage方法
 * 使用@ActivationConfigProperty注释配置消息的各种属性,其中destinationType指定消息的类型(topics和queues)
 *  Topics:可以有多个客户端。topic发布允许一对多,或多对多通讯通道。消息的产生者叫做publisher,消息的接收者叫做subscriber. destinationType属性对应值为:javax.jms.Topic
 *  Queue: 仅仅允许一个消息传送给一个客户。一个发送者将消息放入消息队列,接收者从队列中抽取并得到消息。消息就会在队列中消失。destinationType属性对应值为:javax.jms.Queue
 * destination 属性用作指定消息路径,消息驱动Bean在发布时,如果路径不存在,容器会自动创建该路径,当容器关闭时该路径会自动被删除。
 * 客户端:根据上下文来找一个连接工厂TopicConnectFactory/QueueConnectionFactory(根据topic/queue来使用相应的类型)
 *         从连接工厂得到一个连接(Connect 有两种[TopicConnection/QueueConnection]); 
 * @author xywang
 * @since 2009-2-12
 * @version 1.0
 */
@MessageDriven(activationConfig={
        @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"),
        @ActivationConfigProperty(propertyName="destination",propertyValue="queue/myejb")
})
public class PrintBean implements MessageListener{

    /* (非 Javadoc)
     * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
     */
    public void onMessage(Message msg){
       try{
           TextMessage tmsg = (TextMessage)msg;
           this.print(tmsg.getText());
       }catch(Exception e){
           e.printStackTrace();
       }

    }

    private void print(String text){
        System.out.println(text);
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -