[转帖]关于JMS在WebLogic上的配置_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3541 | 回复: 0   主题: [转帖]关于JMS在WebLogic上的配置        下一篇 
haili.yang
注册用户
等级:少校
经验:936
发帖:71
精华:1
注册:2012-12-24
状态:离线
发送短消息息给haili.yang 加好友    发送短消息息给haili.yang 发消息
发表于: IP:您无权察看 2012-12-28 15:05:22 | [全部帖] [楼主帖] 楼主

这几天都加班忙着完成那本JMS,因为以前都没搞过JMS的具体实现和配置,所以还真是够麻烦的。很多JMS的概念都必须去理解和整理,不过现在总算是把JMS的本地给配置很跑通了,也写点总结给有需要的人。   JMS的具体概念就不介绍了,网上很多。先把JMS的实现方式列出来下吧:
    (1)得到一个JNDI初始化上下文(Context)。
    (2)根据上下文来查找一个连接工厂TopicConnectFactory/ QueueConnectionFactory(有两种连接工厂,根据是topic/queue来使用相应的类型)。
    (3)从连接工厂得到一个连接(Connect 有两种[TopicConnection/ QueueConnection])。
    (4)通过连接来建立一个会话(Session)。 
    (5)查找目的地(Topic/ Queue)。
    (6)根据会话以及目的地来建立消息制造者(TopicPublisher/QueueSender)和消费者(TopicSubscriber/QueueReceiver)。
   首先关于初始化上下文(Context)因为是本地的WebLogic配置,所以直接newInitialContext()就行了,但如果是远程的那就要得到远程server的Context了,具体方法如下:

 Properties pros = new Properties();
pros.put("java.naming.factory.initial","oracle.j2ee.rmi.RMIInitialContextFactory");
pros.put("java.naming.provider.url",service);
pros.put("java.naming.security.principal",user);
pros.put("java.naming.security.credentials",passwd);
returnnew InitialContext(pros);


   对于Queue的传输方式,没有什么问题,一开始配置好了之后就测通了,但是Topic就比较迷惑了,主要还是对Topic的了解不够,其实Topic���这样的传输:对于发布到这个主题(Topic)的所有消息进行接受,当然可以通过 messageselector来过滤消息了。也就是说前提是你的Topic接受必须先起来,然后在send的时候起来的接受的Topic就能接到这个主题下的所以消息了。还有一点,Topic接受可以写Receive方法和响应messageListener方法,他们的区别就是Receive只能接受一次,而相应事件则开启之后对于这个主题的所以消息都可以接受。
   比较有问题的地方就碰到这些了,下次就具体讲下JMS在WebLogic上的配置方法了。
在WebLogic上的JMS配置其实也不是很麻烦,具体步骤还是比较少的。

    1.配置连接工厂(Connection Factories)。

    JMS中连接工厂分QueueConnectionFactory和TopicConnectionFactory两种,Weblogic不区分这两种类型。但我们最好还是配置两种工厂类型。在配置连接工厂前必须先配置好JMS Modules,因为连接工厂是在Modules上配置的。

    Services->Messaging->JMS Modules点击创建一个新的Jms Module,默认配置就ok了。在module配置好了之后,点击module在新规就会有连接工厂的选项了���入力连接工厂的名字和JNDI的名字就ok了。按照步骤把两种连接工厂都可以建成。

    2.配置消息存储(Message Stores)。

    WebLogic中消息存储方式可分两种方式,一是把消息保存到文件系统中,二是把消息保存到数据库中。因为我只用过文件存储的方式,所以就介绍下这个方式了,Services->Persistent Stores,New->Create FileStore,输入文件存储的名字和目录,这个目录很重要,开始我以为是本地的一个目录就行了,其实测试之后发现必须是WebLogic的 DefaultDomain下的一个目录才行,所以必须在这个DefaultDomain下建一个可读写的目录,把目录名写上去就ok了。

    3.配置JMS服务器(JMS Servers)。

    每个JMS Server只能管理一个消息存储介质,针对以上配置,我们配置一个JMS Server管理文件方式,数据库存储方式的JMS Server就不配置了。Services->Messaging->JMS Servers,输入名字和选择刚配置好的消息存储的名字就ok了。

    4.配置消息目的地(Destinations)。

    这就分为配置Queue和Topic了,配置的方法是一样的,这里就介绍配置Queue的了:

Services->Messaging->JMS Modules,点击刚配置好的Modules,然后新规就有需要配置的选项了,有Queue和Topic还有很多的。选择Queue,输入名字和 JNDI名称,注意的是Subdeploymenet,这个一定要新规一个!否则是有问题的,Queue和Topic都必须新规这个 Subdeploymenet,默认就ok了。这样就可以完成消息目的地的配置了。

    以上就是本地WebLogic上的JMS配置方法,因为网上的资料也比较少,所以希望这写简单的介绍能提供点帮助吧。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论