JMS系列(一)-weblogic jms配置
相关概念
weblogic对jms协议的实现,有自己一套管理方式,其中涉及到比较多概念,在开始之前把这些概念理解清楚
- weblogic server 即weblogic服务器实例,又包含管理服务器(AdminServer)和受管服务器(ManagerServer)相关概念,跟本次jms无关,不扩展。weblogic server可以理解为服务器,和tomcat一个级别。
- Persistent Stores (持久存储)负责存储jms队列和主题数据,weblogic提供两种store方式,file store(文件存储)和jdbc store(数据库存储)
- JMS server 即JMS服务器,是jms所有资源的容器,最重要的作用是定义jms数据存储方式
- JMS Module 即JMS模块,管理jms相关资源,包括jms队列,jms主题,jms连接工厂等
- Subdeployment 即子部署,可以将jms队列,主题,连接工厂归组,对同一组内(同一Subdeployment内)的资源部署到相同的JMS server上
- JMS Queue 即JMS 队列,进入jms队列的消息先进先出,并且是点对点模式,也就是一条消息进入队列后,如果有接收者从队列里面取出消息,那么这条消息就从队列里面删除,后续的接收者接收不到该消息
- JMS Topic 即JMS 主题,虽然队列可以有多个接收者,但最终消息只能到达一个接收者那里,和队列不同的是,JMS主题可以有多个接收者,这里称为订阅者,消息会分发给每个订阅者。
上面这些名词中,只有JMS Queue和JMS Topic是标准JMS名词,其他只是weblogic为了管理方便(实际上并不方便)创造出来的名词,如果不理解也没关系,最重要的是JMS Queue和JMS Topic一定要理解
用一张图表示,如下:

创建Persistent Stores
登录 http://host:port/console 进入weblogic控制台选择domain->Services->Persistent Stores

选择New->FileStore
创建一个基于文件存储的store
Name:jms_file_store_1
Target:AdminServer
Directory:/u01/jms_store
要保证输入的目录存在,weblogic不会自动创建目录
创建JMS Server
进入domain->Services->Messaging->JMS server
新建一个JMS server,Name输入jms_test_server
,Persistent Store选择刚刚创建的jms_file_store_1

Next->Target选择AdminServer->Finish

创建JMS Module
进入domain->Services->Messaging->JMS Modules
新建一个JMS Module
Name输入 jms_test_module
其他两个可以不填


Finish
创建Subdeployment
进入上面创建的jms_test_module
,切换到Subdeployments
Tab页面新建
Subdeployment Name:jms_test_subdeployment
Next->Target选择jms_test_server
->Finish

创建JMS Connection Factory
进入domain->Services->Messaging->JMS Modules->jms_test_module
点击New选择 Connection Factory
Name:jms_test_connection_factory1
JNDI Name:jms/jms_test_connection_factory1
其他默认,Next->Target默认选择AdminServer->Finish
创建JMS Queue
进入domain->Services->Messaging->JMS Modules->jms_test_module
点击New选择 Queue
Name:jms_test_queue
JNDI Name:jms/jms_test_queue

Next,Subdeployments选择
jms_test_subdeployment

创建JMS Topic
进入domain->Services->Messaging->JMS Modules->jms_test_module
点击New选择 Topic
Name:jms_test_queue
JNDI Name:jms/jus_test_queue
Next,Subdeployments选择jms_test_subdeployment
至此,weblogic上jms相关资源创建完毕
