posts - 13,  comments - 4,  trackbacks - 0

          JMS配置文檔

          附件:http://www.aygfsteel.com/Files/86mang/JMS.doc

          1.       登錄WebLogic控制臺

          2.       新建JMS Server

          3.       點(diǎn)擊“new”按鈕

          4.       Name改為IbosJMSServer,點(diǎn)擊Create a New Store按鈕

          5.       選中File Store,點(diǎn)擊“Next

          6.       Name改為IbosFileStore,點(diǎn)擊“OK”。返回到以下頁面

          7.       選中IbosFileStore,點(diǎn)擊“Next

          8.       選中程序所在的Server,點(diǎn)擊“Finish”完成。

          9.       新建JMS Modules

          10.   點(diǎn)擊“New

          11.   Name改為IbosSystemModule,點(diǎn)擊“Next

          12.   選中程序所在Server,點(diǎn)擊“Next

          13.   點(diǎn)擊“Finish”完成。

          14.   新建QueueConnectionFactory,點(diǎn)擊IbosSystemModules

          15.   點(diǎn)擊“New

          16.   選中“Connection Factory”,點(diǎn)擊“Next

          17.   Name改為IbosQueueConnectionFactory,JNDI Name設(shè)為IbosQueueConnectionFactory,點(diǎn)擊“Next

          18.   點(diǎn)擊“Advanced Targeting”按鈕

          19.   點(diǎn)擊“Create a New Subdeployment

          20.   Subdeployment Name改為IbosSubdeployment,點(diǎn)擊“Next

          21.   選中IbosJMSServer,點(diǎn)擊“Finish

          22.   Subdeployment選中IbosSubdeployment,點(diǎn)擊“Finish”。

          23.   新建Queue,點(diǎn)擊“New

          24.   選中“Queue”,點(diǎn)擊“Next

          25.   Name改為“IbosQueue”,JNDI Name改為“IbosQueue”,點(diǎn)擊“Next

          26.   Subdeployment選中“IbosSubdeployment”,點(diǎn)擊“Finish”完成。

          27.   重新啟動weblogic服務(wù)。

          代碼如下:

          package ibos.control;

          import java.util.List;

          import javax.ejb.ActivationConfigProperty;
          import javax.ejb.EJB;
          import javax.ejb.MessageDriven;
          import javax.ejb.TransactionAttribute;
          import javax.ejb.TransactionAttributeType;
          import javax.jms.JMSException;
          import javax.jms.Message;
          import javax.jms.MessageListener;
          import javax.jms.ObjectMessage;
          import javax.jms.TextMessage;

          import kernel.jpa.JpaUtil;
          import kernel.jpa.NamedQueryParameter;

          import org.slf4j.Logger;
          import org.slf4j.LoggerFactory;

          @MessageDriven
              (mappedName 
          = "IbosQueue",
                   name 
          = "TransferQueueListener",
                   activationConfig 
          = {
                   @ActivationConfigProperty(propertyName 
          = "destinationType", propertyValue = "javax.jms.Queue")
                       }
               )
               @TransactionAttribute(TransactionAttributeType.NEVER)
          public class TransferQueueListener implements MessageListener {

              
          public static Logger log = LoggerFactory.getLogger(TransferQueueListener.class);
              
          public void onMessage(Message message) {
                  
          // TextMessage tmsg = (TextMessage) message;
                  ObjectMessage objMsg = (ObjectMessage) message;

                  } 
          catch (JMSException e) {
                      log.error(e.getMessage());
                      e.printStackTrace();
                  }
              }

          }
          package ibos.control;

          import java.io.Serializable;
          import java.util.Properties;
          import java.util.concurrent.ConcurrentHashMap;

          import javax.jms.JMSException;
          import javax.jms.ObjectMessage;
          import javax.jms.Queue;
          import javax.jms.QueueConnection;
          import javax.jms.QueueConnectionFactory;
          import javax.jms.QueueSender;
          import javax.jms.QueueSession;
          import javax.naming.Context;
          import javax.naming.InitialContext;
          import javax.naming.NamingException;

          public class SendJmsUtil {

              
          public static String Default_Queue_Name = "IbosQueue";
              
          public static int Default_IIOP_PORT = 8080;

              
          public static class QueueManagedObject {
                  QueueConnection conn;
                  QueueSession session;
                  Queue queue;
                  QueueSender sender;        

                  
          public QueueManagedObject(QueueConnection conn, QueueSession session,
                          Queue queue, QueueSender sender) {
                      
          super();
                      
          this.conn = conn;
                      
          this.session = session;
                      
          this.queue = queue;
                      
          this.sender = sender;
                  }

              }

              
          public static ConcurrentHashMap<String, QueueManagedObject> queueManagedObjectMap = new ConcurrentHashMap<String, QueueManagedObject>();

              
          public static void sendMessage(Serializable obj, String ip) throws Exception {

                   sendMessage(obj, ip, Default_IIOP_PORT, Default_Queue_Name);
              }
              
              
          public static void sendMessage(Serializable obj, String ip, int port,
                      String queueName) 
          throws Exception {

                  QueueManagedObject queueManagedObject 
          = getQueueManagedObject(ip, port,
                          queueName);
                  ObjectMessage msg 
          = queueManagedObject.session.createObjectMessage(obj);
                  queueManagedObject.sender.send(msg);
          //        queueManagedObject.sender.close();
              }

              

              
          public static QueueManagedObject getQueueManagedObject(String ip, int port,
                      String queueName) 
          throws Exception {
                  String key 
          = ip + port+queueName
                  ;
                  QueueManagedObject queueManagedObject 
          = queueManagedObjectMap.get(key);
                  
          if (queueManagedObject == null) {
                      QueueConnection conn;
                      QueueSession session;
                      Queue queue;
                      QueueSender sender;

                      
                          Properties props 
          = new Properties();
                          props.setProperty(
          "java.naming.factory.initial","weblogic.jndi.WLInitialContextFactory");
                          String url = "t3://" + ip + ":" + port;
                          props.setProperty(
          "java.naming.provider.url", url);
                          InitialContext ctx = new InitialContext(props);
                          QueueConnectionFactory qcf 
          = (QueueConnectionFactory) ctx
                                  .lookup(
          "IbosQueueConnectionFactory");
                          conn 
          = qcf.createQueueConnection();
                          session 
          = conn.createQueueSession(false,
                                  QueueSession.AUTO_ACKNOWLEDGE);
                          queue 
          = (Queue) ctx.lookup(queueName);

                          sender 
          = session.createSender(queue);
                          queueManagedObject 
          = new QueueManagedObject(conn,  session,
                           queue,  sender);
                          queueManagedObjectMap.put(key, queueManagedObject);
                          
                      
                  }
                  
          return queueManagedObject;
              }

          }


          附件:http://www.aygfsteel.com/Files/86mang/JMS.doc

          posted on 2010-05-05 10:43 身在半空 閱讀(4220) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 彭水| 朔州市| 桃江县| 林周县| 富民县| 江陵县| 同德县| 安塞县| 永顺县| 桦甸市| 安龙县| 皮山县| 前郭尔| 延寿县| 栾川县| 云安县| 连平县| 荣成市| 万源市| 内江市| 安多县| 元阳县| 巫溪县| 武定县| 英德市| 株洲市| 东阳市| 溧水县| 华亭县| 瓮安县| 隆回县| 鄂伦春自治旗| 孟村| 苍梧县| 沛县| 平安县| 海宁市| 通渭县| 漳平市| 曲麻莱县| 渝中区|