【发布时间】:2019-03-27 19:37:37
【问题描述】:
我们有一个在 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 次来测试这一点,这恰好是代理端的默认值。
因此,问题是,如果可能的话,如何在客户端强制覆盖这些属性?在客户端设置这些属性在什么情况下会生效?
【问题讨论】: