【问题标题】:Refresh MQ Connection properties of MQ RA in WAS刷新 WAS 中 MQ RA 的 MQ 连接属性
【发布时间】:2014-07-23 08:51:00
【问题描述】:

我们正在尝试在 WebSphere App Server 上构建测试应用程序,它能够尊重 WebSphere MQ 队列连接工厂中的更改。

不幸的是,我们发现在更改端口和 QMgr 名称、保存和复制更改后,甚至在重新启动应用程序后,它会从 InitialContext 获取 MQConnFact.. 引用,它绑定到同一个 UNCHANGED 连接工厂对象,所以它确实需要服务器重新启动以查看更改。

这正常吗?从我的角度来看,我们不必重新启动服务器,甚至不必重新启动应用程序即可获得更新的对象。

是的,我们关闭会话、连接和消息生产者对象。 每次查找时如何查看更新的参考资料?

【问题讨论】:

    标签: java resources jndi ibm-mq ibm-was


    【解决方案1】:

    不幸的是,WebSphere 正在缓存资源并在启动时将其绑定到 JNDI 上下文。根据我的个人经验,只有重新启动才能确保更新资源的更改。

    也许还有一个附带问题:为什么要更改队列连接工厂属性?集群中有 QMGrs 吗?如果集群中有多个队列管理器,可以使用基于 CCDT 文件的配置来分配负载。

    【讨论】:

    • 感谢您的回答。我们的测试应用程序背后的原因是我们采用客户应用程序,该应用程序使用弹簧并在 Db 中存储 conn 属性。这个应用程序可以在我们重启的情况下通过刷新 spring 上下文来查看那些更改的属性。但我们尝试迁移到 WebSphere 管理的连接,以便通过应用服务器管理和监控连接。
    【解决方案2】:

    如果您定义了从应用程序到相关资源的资源引用,那么重新启动应用程序应强制将资源重新绑定到命名空间。如果没有资源引用,您需要重新启动应用程序服务器才能将资源重新绑定到命名空间中。

    【讨论】:

    • 我想我们尝试过这种方式,有参考。它仍然需要重新启动服务器,因为上下文引用由 websphere 缓存。我们甚至尝试在获取上下文之前放置特殊选项,以不缓存资源,但这也不起作用。
    猜你喜欢
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2022-08-19
    • 2022-11-08
    • 1970-01-01
    相关资源
    最近更新 更多