您好,欢迎光临本网站![请登录][注册会员]  
文件名称: EJB 2 JMS
  所属分类: Java
  开发工具:
  文件大小: 60kb
  下载次数: 0
  上传时间: 2009-09-25
  提 供 者: onl***
 详细说明: 1.消息的生产者 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import javax.jms.JMSException; import javax.jms.ObjectMessage; import javax.jms.Session; import javax.jms.TextMessage; import javax.jms.Topic; import javax.jms. TopicConnection; import javax.jms.TopicConnectionFactory; import javax.jms.TopicPublisher; import javax.jms.TopicSession; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import pojo.Student; /** * * @author Johnson */ public class Main {      /** Creates a new instance of Main */       public Main() {       }            /**        * @param args the command line arguments        */       public static void main(String[] args) {           Context context = null;              TopicConnection connection = null;           TopicSession session = null;           TopicPublisher publisher = null;           try {                           context    = new InitialContext();               //1, 获取连接工厂               TopicConnectionFactory connectionFactory = (TopicConnectionFactory)context.lookup("topic/connectionFactory");               //2,创建连接               connection = connectionFactory.createTopicConnection();               //3, 创建会话               session = connection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);               //4, 获取目的地               Topic topic = (Topic)context.lookup("topic/destination");               //5, 创建生产者               publisher = session.createPublisher(topic);               //6, 发送消息                   //publish ObjectMessage               Student student = new Student();               student.setName("Johnson");               student.setAge(26);               ObjectMessage objectMessage = session.createObjectMessage();               objectMessage.setObject(student);               publisher.publish(objectMessage);                   //publish TextMessage               BufferedReader br = new BufferedReader(new InputStreamReader(System.in));               String data = br.readLine();               while(!data.equals("quit")){                   TextMessage message = session.createTextMessage(data);                   publisher.publish(message);                   data = br.readLine();               }           } catch (NamingException ex) {               ex.printStackTrace();           } catch (JMSException ex) {               ex.printStackTrace();           } catch (IOException ex) {               ex.printStackTrace();           } finally{               //从小到大释放资源               if(publisher != null){                                   try {                       publisher.close();                   } catch (JMSException ex) {                       ex.printStackTrace();                   }               }               if(session != null){                   try {                       session.close();                   } catch (JMSException ex) {                       ex.printStackTrace();                   }               }               if(connection != null){                   try {                       connection.close();                   } catch (JMSException ex) {                       ex.printStackTrace();                   }               }               if(context != null){                   try {                       context.close();                   } catch (NamingException ex) {                       ex.printStackTrace();                   }               }           }       }      } 2.消息的消费者 import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.ObjectMessage; import javax.jms.Session; import javax.jms.TextMessage; import javax.jms.Topic; import javax.jms.TopicConnection; import javax.jms.TopicConnectionFactory; import javax.jms.TopicSession; import javax.jms.TopicSubscriber; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import pojo.Student; /** * * @author Johnson */ public class Main {            /** Creates a new instance of Main */       public Main() {                }       /**        * @param args the command line arguments        */       public static void main(String[] args) {           Context context = null;           TopicConnection connection = null;           TopicSession session = null;           TopicSubscriber subscriber = null;           try {               context    = new InitialContext();               //1, 获取连接工厂               TopicConnectionFactory connectionFactory = (TopicConnectionFactory)context.lookup("topic/connectionFactory");               //2,创建连接               connection = connectionFactory.createTopicConnection();               connection.start();//must               //3, 创建会话               session = connection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);               //4, 获取目的地               Topic topic = (Topic)context.lookup("topic/destination");               //5, 创建消费者               subscriber = session.createSubscriber(topic);               //6, 接收消息               //方式一:               /*while(true){                   Message message = subscriber.receive();                   if(message instanceof TextMessage){                       TextMessage textMessage = (TextMessage)message;                       System.out.println("the message is : "+textMessage.getText());                   }                   if(message instanceof ObjectMessage){                       ObjectMessage objectMessage = (ObjectMessage)message;                       Student student = (Student)objectMessage.getObject();                       System.out.println("hello "+student.getName()+" ,the next year your will be "+(student.getAge()+1)+" years old");                   }               }*/               //方式二:但不能在finally中释放资源(那样的话一次执行完后所有的资源都释放了,就没有资源为下次服务了) ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: EJB 2
 输入关键字,在本站1000多万海量源码库中尽情搜索: