JMS服务器的配置
1.创建JMS服务器
输入http://<host>:7001/console进入WLS控制台选择JMS Servers
点击New新建一个JMS服务器,Name输入TestJMSServer作为服务器名称
Next,选择一个服务器作为来部署JMS服务,这里选择Administrator作为服务器,就是weblogic服务器
这里选择的服务器会影响到后面BAM服务器上的配置
Finish后可以看到刚新建的JMS服务器
2.创建JMS Module
进入JMS Module
点击New新建一个JMS Module,Name输入TestModule,其他的保留默认
Next,target选择AdminServer,这个要根据你前面选的来选,比如你前面选的soa_server1这里就要选soa_server。Next,直接finish
可以看到我们刚创建的JMS Module
3.创建subdeployments子部署)
点击TestModuel,选择subdeployments,点击New,在Subdeployment Name输入子部署名称TestSubdeployment,Next,选择TestJMSServer,Finish
4.创建JMS
回到JMS Modules界面,选择TestModuel,点击New,选择
选择我们刚创建的TestSubdeployment,Finish
可以看到刚创建的TestConnectionFactory
4.创建JMS Queue
点击New,选择Queue,Next,Name输入TestQueue,JNDI Name输入jms/TestQueue,Next,Subdeployments选择TestSubdeployment,finish
当然,你也可以创建一个JMS Topic
BAM服务器的配置
1.创建数据对象
用IE浏览器(必须)打开http://<host>:9001/OracleBAM/,选择Architect,创建一个数据对象
数据对象名称TestUser
添加两个字段Name和Password
点击创建数据对象
2.创建企业消息源
选择企业消息源>创建
名称:TestEMS
JNDI 服务提供方 URL,根据你刚才创建JMS Server中选择的部署服务器填入服务器的地址和监听端口,地址大家应该都知道,端口怎么看呢?
到WLS控制台中
选择Servers就可以看到端口
刚才创建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
消息元素名称输入:User(后面有介绍原因)
添加字段映射
记住我们标记/属性名填的是UserName和UserPassword,后面我们传入的参数是以这个来命名的不是根据数据对象来命名的
点保存
PS:BAM在有些浏览器上有BUG,点不到保存,鼠标一移动到保存按钮上就页面自动往下拉,这里有两个解决的方法,第一就是尽量缩小页面Ctrl+后滚轮),直到一个页面能显示完整,第二个就是按住DOWN键再以移动鼠标就可以点
在左边的消息源列表中选择TestEMS,点击测试,如果没测试成功,可能是以上的哪个步骤漏了或者出错,检查下JNDI是否出错,或者JNDI用户名密码有没有出错
如果测试成功,启动监听消息源
如果状态变为已启动,说明启动成功
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已经监听成功
勾选TestModuel!TestQueue点击ShowMessage|New在Body中输入<User><UserName>bam</UserName><UserPassword>oracle</UserPassword></User>点击OK
回到BAM服务器进入Architect|数据对象|TestUser,选择内容就可以看到我们刚传入的参数
。。。这里之所以行ID为2,是因为我刚才参数标签写成了Name和Password,勿吐槽。
这样既可以成功为BAM添加企业消息源,实现对数据的实时监控
本文参考https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simple