messagesender.java

来自「100多M的J2EE培训内容」· Java 代码 · 共 47 行

JAVA
47
字号
package day21ex.messagesender;
import java.io.*;
import java.util.*;
import javax.transaction.*;
import javax.naming.*;
import javax.jms.*;
import javax.ejb.*;

public class MessageSender{
   public final static String JMS_FACTORY =
                    "java:comp/env/jms/TopicConnectionFactory";
   public final static String TOPIC =
                    "java:comp/env/jms/OrderVerifierTopic";
   public void sendAMessage(Context jndiCtx, String msg)  {
      TopicConnection tConnect = null;
      try {
         TopicConnectionFactory tFactory = 
            (TopicConnectionFactory) jndiCtx.lookup(JMS_FACTORY);
         Topic t = (Topic)jndiCtx.lookup(TOPIC);
         tConnect = 
            tFactory.createTopicConnection();
         TopicSession session = tConnect.createTopicSession(false,
                               QueueSession.AUTO_ACKNOWLEDGE);
         TopicPublisher publisher = session.createPublisher(t);
         TextMessage jmsMsg = session.createTextMessage();
         jmsMsg.setText(msg);
         publisher.publish(jmsMsg);
         print("Message sent to the topic:" + msg);
      }catch  (Exception e) {
         e.printStackTrace();
         throw new EJBException("MessageSender:sendAMessage: Error!",e);
      } finally {
         try {
            if( tConnect != null ) {
               tConnect.close();
            }
         } catch(Exception e) {}
      }
   }
   void print(String s) {
      System.out.println("MessageSender:"+ s);
   }

}


⌨️ 快捷键说明

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