首页 文章

如何在WebLogic 12c中使用远程JMS提供程序

提问于
浏览
0

我正在阅读关于与远程JMS提供程序集成的this FAQ by Oracle . 远程JMS提供程序是指由不同域中的另一个WebLogic群集托管的JMS服务器 .

常见问题是旧的,并没有详细说明如何实际配置远程JMS连接 . 以下是常见问题解答

问:与远程JMS提供商 Build 通信需要哪些信息?答:您将需要以下信息来设置与远程JMS提供程序的通信:目标类型 - 远程JMS目标是队列还是主题 . 远程JMS目标的JNDI名称 . 对于持久主题订阅者 - 唯一标识它们的connection-id和subscriber-id名称 . 消息驱动的EJB基于EJB名称为这些值提供默认值 . 对于非WebLogic远程JMS提供程序Initial Context Factory Class Name - 远程JMS提供程序的JNDI查找服务的java类名 . 包含远程JMS提供程序的JMS客户机和JNDI客户机库的java jar文件位置 . 确保在本地JVM的类路径中指定了这些jar . 远程提供程序的JNDI服务的URL . 对于WebLogic服务器,URL通常采用t3:// hostaddress:port格式 . 如果您通过HTTP进行隧道传输,请使用http而不是t3开始URL . 访问与应用程序位于同一WebLogic服务器或WebLogic群集上的WebLogic JMS服务器的服务器应用程序代码不需要URL . 远程提供程序的JMS连接工厂的JNDI名称 . 此连接工厂必须存在于远程提供程序上,而不是本地提供程序上 . 如果JMS应用程序需要事务,则连接工厂必须支持XA . WebLogic文档在启用用户事务时引用具有XA功能的工厂 . 默认情况下,WebLogic服务器自动提供三个不可配置的连接工厂:weblogic.jms.ConnectionFactory - 一个不支持XA的工厂 . weblogic.jms.XAConnectionFactory-一个支持XA的工厂weblogic.jms.MessageDrivenBeanConnectionFactory - 一个支持XA的工厂,用于消息驱动的EJB . 必须显式配置其他WebLogic JMS连接工厂 .

因此,基本思想是从远程服务器的JNDI上下文中检索JMS资源,并将它们存储在本地JNDI上下文中 .

做JNDI映射对我来说似乎是老派 . 在2018年与远程WebLogic 12c JMS提供程序集成的现代方法是什么?或者JNDI映射是否仍然相关,我在哪里可以找到有关它的更多信息?

1 回答

  • 2

    有3种方法连接到远程JMS服务器1)使用外部JMS(即JNDI映射)2)使用消息传递桥(适配器位旧学校)3)使用SAF(存储和转发)

    如果与远程JMS的连接可靠或本地和远程jms服务器的可用性相同,则外部JMS是一个很好而且简单的选项 .

    如果您不能依赖远程JMS服务器的可用性,并且希望在消息到达时立即使用消息并让本地服务器在适当的时候处理它,那么建议使用SAF .

相关问题