gpt4 book ai didi

java - 关于 Solace 属性何时有效的困惑

转载 作者:行者123 更新时间:2023-12-02 10:05:10 25 4
gpt4 key购买 nike

我们有一个在 Docker 容器中运行的安慰代理。当我们创建 JNDI 连接工厂时,有一些默认属性,例如

  • 重新连接重试
  • 连接重试
  • 每个主机的连接重试次数

等等

当我们使用 JMS 建立生产者时,我们会提供如下属性

env.put(SupportedProperty.SOLACE_JMS_JNDI_CLIENT_ID, config.getJndiClientID());
env.put(SupportedProperty.SOLACE_JMS_PROP_SENDER_ID, config.getSenderID());
env.put(SupportedProperty.SOLACE_JMS_VPN, config.getVpn());
env.put(SupportedProperty.SOLACE_JMS_JNDI_CONNECT_RETRIES, 0);
env.put(SupportedProperty.SOLACE_JMS_JNDI_RECONNECT_RETRIES, 0);
env.put(SupportedProperty.SOLACE_JMS_JNDI_CONNECT_RETRIES_PER_HOST, 0);

但是,在应用程序运行时以及建立连接时,我在客户端设置的这些属性似乎不起作用。具体来说,我可以通过停止 solace 的 docker 容器并看到它尝试重新连接 3 次来测试这一点,这正是代理端的默认情况。

因此,问题是,如果可能的话,如何在客户端强制覆盖这些属性?在客户端设置这些属性什么情况下会生效?

最佳答案

根据定义,通过 JNDI 加载 JMS ConnectionFactory 是一个两步过程:首先 API 连接到 JNDI,然后加载已创建的任何 JMS ConnectionFactory 对象。

属性SOLACE_JMS_JNDI_CONNECT_RETRIES(注意JNDI)实际上是第一步的参数!它定义了用于联系 JNDI 的#retries。如果您想要更改加载的 JMS ConnectionFactory 的定义,您需要在 Solace 管理员中执行此操作。例如,在管理 GUI 中,如下所示。

enter image description here

关于java - 关于 Solace 属性何时有效的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com