注意:我的客户没有weblogic群集许可证。我们配置了两个托管服务器,每个托管服务器都有一个JMSServers。
问题:信息是从数据库缓存的。当有人通过后端作业修改数据库条目时,将会有通知来更新缓存。该通知应发布到每个受管服务器中的队列或主题。
我尝试过SAF主题,但无法将消息发布到本地和远程主题。
如何在没有群集的两台受管服务器之间可靠地交换消息。
答案 0 :(得分:0)
这就是我所做的。
假设有三个weblogic托管服务器(MSERVER-01,MSERVER-02,MSERVER-03),并且读取此消息的人知道要创建域,托管服务器,JMS服务器,JMS模块,JMS连接工厂,JMS主题,JMS消息桥目的地和最后一个桥。
解决问题的步骤:
创建三个JMSServers,每个JMSServers对应于上面列出的每个服务器。
创建3个JMS模块,目标是每个JMS服务器
在每个JMS模块中创建一个具有默认目标的连接工厂
在每个JMS模块中创建2个TOPICS,一个名为NOTIFICATION_MANAGER_TOPIC的另一个MSG_PROCESSOR_TOPIC。
创建指向每个NOTIFICATION_MANAGER_TOPIC的源消息桥目标,如N1,N2,N3
创建指向每个MSG_PROCESSOR_TOPIC的目标消息桥目标,如P1,P2,P3
创建桥梁为N1到P1,N1到P2,N1到P3
创建桥梁为N2到P1,N2到P2,N2到P3
创建桥梁为N3到P1,N3到P2,N3到P3
消息桥准备就绪后,您可以使用以下示例代码将消息发布到N1(NOTIFICATION_MANAGER_TOPIC),您将看到消息被传递到所有MSG_PROCESSOR_TOPIC,即P1,P2,P3。
注意:网桥不适合域内的通信。对于没有创建分布式主题所需的weblogic集群许可证的人来说,这只是一种解决方法。此外,您可以尝试SAF(存储转发)而不是Bridge。