And*_*ips 15 java weblogic middleware
我们正试图想出一些接近简单直接模型的东西,用于在WebLogic中定位JMS资源(我知道这很有可能).队列和主题可以轻松而直观地映射到WebLogic服务器上运行的JMS服务器,但外部服务器及其中的资源似乎更棘手.
在WLS 10.0和10.3中,首先,外部服务器不是在JMS服务器旁边定义,而是作为JMS模块的成员定义.其次,默认情况下,它们定位到它们所定义的JMS模块的目标,即WLS集群或WLS服务器,而不是通过子部署针对JMS服务器的"非外部"资源.
但是,通过高级定位,还可以在JMS服务器上定位外部服务器.这导致模型相对于外来/"非外来"JMS资源更加对称.
高级定位http://dexter.xebialabs.com/Media/foreign_server_advanced_targeting.png
所以,问题是:
提前致谢!
安德鲁菲利普斯
1) 外部 JMS 服务器过去被定义为独立组件,类似于连接器、消息传递桥等。这些组件(历史上)直接针对应用程序服务器或集群,而不是像 JMS 服务器这样的中间组件。
在后续版本中,Oracle 尝试将内部和外部 JMS 合并到一个通用保护伞下。然而,目标选项却有所不同。为了提供 JMS 部分的灵活性,引入了子部署。为了保持一致性,Oracle 似乎已将子部署扩展到外部服务器,这使得事情变得相当复杂/混乱。
我不会称其为意外,因为较新的版本始终符合此设置:)
2) 对于跨集群部署的应用程序,您需要为整个集群按顺序定义一个 JMS 模块。连接工厂的多个定义将使 JMS 负载平衡产生偏差。
我们的最佳实践以每个集群(或应用程序服务器,如果不是集群)创建单个 JMS 模块的标准为中心,然后在同一模块内创建外部服务器和 weblogic JMS 队列/连接工厂。此外,为子部署和 JMS 模块制定良好的命名约定也大有帮助。
3) 一旦运行超过 16 个并发 MDB,外部服务器(尤其是 IBM MQ)可能会出现许多复杂的问题。我们避免了外部服务器 -> JMS 服务器 -> 受管服务器,以减少额外的抽象/复杂性层,从而使配置更简单。您还可以降低外部服务器的异常被神秘的 JMS 服务器异常掩盖的风险(我没有任何证据证明这一点)。
一位团队成员曾经建议外部服务器 -> 应用程序服务器设置的性能更高,但我们让 Oracle 的 A 团队确认这只是一个逻辑/美观的更改,并不重要。
希望有帮助!