JMS服务器的配置 

1.创建JMS服务器

输入http://<host>:7001/console进入WLS控制台选择JMS Servers

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

点击New新建一个JMS服务器,Name输入TestJMSServer作为服务器名称

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

Next,选择一个服务器作为来部署JMS服务,这里选择Administrator作为服务器,就是weblogic服务器

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

这里选择的服务器会影响到后面BAM服务器上的配置

Finish后可以看到刚新建的JMS服务器

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

2.创建JMS Module

进入JMS Module

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

点击New新建一个JMS Module,Name输入TestModule,其他的保留默认

Next,target选择AdminServer,这个要根据你前面选的来选,比如你前面选的soa_server1这里就要选soa_server。Next,直接finish

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

可以看到我们刚创建的JMS Module

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

3.创建subdeployments(子部署)

点击TestModuel,选择subdeployments,点击New,在Subdeployment Name输入子部署名称TestSubdeployment,Next,选择TestJMSServer,Finish

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

4.创建JMS 

回到JMS Modules界面,选择TestModuel,点击New,选择

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

选择我们刚创建的TestSubdeployment,Finish

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

可以看到刚创建的TestConnectionFactory

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

4.创建JMS Queue

点击New,选择Queue,Next,Name输入TestQueue,JNDI Name输入jms/TestQueue,Next,Subdeployments选择TestSubdeployment,finish

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

当然,你也可以创建一个JMS Topic

BAM服务器的配置

1.创建数据对象

用IE浏览器(必须)打开http://<host>:9001/OracleBAM/,选择Architect,创建一个数据对象

数据对象名称TestUser

添加两个字段Name和Password

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

点击创建数据对象

2.创建企业消息源

选择企业消息源>创建

名称:TestEMS

JNDI 服务提供方 URL,根据你刚才创建JMS Server中选择的部署服务器填入服务器的地址和监听端口,地址大家应该都知道,端口怎么看呢?

到WLS控制台中

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

选择Servers就可以看到端口

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

刚才创建JMS服务器的时候选的是AdminiServer,监听的端口是7001,因此JNDI 服务提供方 URL填t3://192.168.15.129:7001,其中192.168.15.129是我服务器的地址

主题/队列连接工厂名输入jms/TestConnectionFactory

主题/队列名输入jms/TestQueue

JNDI用户名输入EM的用户名,JNDI密码输入EM的密码

JMS消息类型选择TextMessage,数据对象选择刚创建的TestUser

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

消息元素名称输入:User(后面有介绍原因)

添加字段映射

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

记住我们标记/属性名填的是UserNameUserPassword,后面我们传入的参数是以这个来命名的不是根据数据对象来命名的

点保存

PS:BAM在有些浏览器上有BUG,点不到保存,鼠标一移动到保存按钮上就页面自动往下拉,这里有两个解决的方法,第一就是尽量缩小页面(Ctrl+后滚轮),直到一个页面能显示完整,第二个就是按住DOWN键再以移动鼠标就可以点

在左边的消息源列表中选择TestEMS,点击测试,如果没测试成功,可能是以上的哪个步骤漏了或者出错,检查下JNDI是否出错,或者JNDI用户名密码有没有出错

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

如果测试成功,启动监听消息源

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

如果状态变为已启动,说明启动成功

PS,这里存在一个跨域问题,也就是如果BAM服务器和JMS服务器不在同一台机子上的话,会出现BAM-00533的错误,这里就要在两台服务器上配置Trusted Domain,关于Trusted Domain的配置,以后再讲,或者谷歌一下就有很多结果(千万不要用百度,基本上BAM的东西是百度不到任何结果,一定要学会用谷歌)

测试EMS

打开http://<host>:7001/console进入WLS控制台进入Services  | Messaging | JMS Modules选择TestModule|TestQueue,在TestQueue中选择Monitoring(监视)选项卡,可以看到当前有1个监听者,说明BAM已经监听成功

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

勾选TestModuel!TestQueue点击ShowMessage|New在Body中输入<User><UserName>bam</UserName><UserPassword>oracle</UserPassword></User>点击OK

回到BAM服务器进入Architect|数据对象|TestUser,选择内容就可以看到我们刚传入的参数

Oracle BAM添加企业消息源实现数据的实时监控-编程知识网

 。。。这里之所以行ID为2,是因为我刚才参数标签写成了Name和Password,勿吐槽。

这样既可以成功为BAM添加企业消息源,实现对数据的实时监控

本文参考https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simple