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一定要理解
用一张图表示,如下:
前题
1、OSB版本:Oracle Server Bus v12.2.1.3.0
JMS配置
1. 创建持久存储(Persistent Stores)
登录 http://host:port/console 进入weblogic控制台选择
域->服务->持久性存储 domain->Services->Persistent Stores
选择New->FileStore创建一个基于文件存储的store Name:jms_file_store_1 Target:mon_cluster (应用于集群) Directory:/data/mon/ 要保证输入的目录存在,weblogic不会自动创建目录
`
2. 创建服务(JMS Server)
进入domain->Services->Messaging->JMS server
新建一个JMS server,Name输入jms_test_server
,Persistent Store选择刚刚创建的jms_file_store_1
,目标也是mon_cluster。
3. 创建模块(JMS Module)
进入domain->Services->Messaging->JMS Modules
新建一个JMS Module
Name输入 jms_test_module
其他两个可以不填,下一步选目标时一起选 mon_cluster集群
4. 创建子部署(Subdeployment)
进入上面创建的jms_test_module
,切换到Subdeployments
Tab页面新建
Subdeployment Name:jms_test_subdeployment
Next->Target选择jms_test_server
->Finish
5. 创建连接工厂(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
6. 创建队列(JMS Queue)
主题应用于一对一模式消息;先进先出原则。
进入domain->Services->Messaging->JMS Modules->jms_test_module
点击New选择 Queue
Name:jms_test_queue
JNDI Name:jms/jms_test_queue
Subdeployment Name:jms_test_subdeployment
JMS server: jms_test_server
7. 创建主题(JMS Topic)
主题应用于一对多模式消息。
进入domain->Services->Messaging->JMS Modules->jms_test_module
点击New选择 Topic
Name:jms_test_topic
JNDI Name:jms/jms_test_topic
Next,Subdeployments选择
jms_test_subdeployment
至此,weblogic上jms服务相关资源创建完毕