首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Solace属性何时有效的困惑

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

Stack Overflow用户
提问于 2019-03-27 19:37:37
回答 2查看 343关注 0票数 0

我们有个慰藉经纪人在码头集装箱里运行。当我们创建JNDI连接工厂时,有一些默认属性,如

  • 重新连接重试尝试
  • 连接重试尝试
  • 每个主机连接重试尝试

诸若此类

当我们使用JMS建立一个生产者时,我们给出如下的属性

代码语言:javascript
复制
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);

但是,在应用程序运行时,以及在建立连接时,我在客户端设置的这些属性似乎没有效果。具体来说,我能够通过停止“安慰”的停靠容器来测试这个问题,并看到它正在尝试重新连接3次,这正是代理端的默认情况。

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

EN

回答 2

Stack Overflow用户

发布于 2019-03-28 08:15:07

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

属性SOLACE_JMS_JNDI_CONNECT_RETRIES (注意JNDI)实际上是第一步的参数!它定义了与JNDI联系的#重试。如果要更改加载的ConnectionFactory的定义,则需要在Solace管理员中这样做。例如,在管理GUI中,如下所示。

票数 1
EN

Stack Overflow用户

发布于 2019-04-06 02:42:47

当您使用env.put()时,您试图使用初始上下文来设置JMS属性。但是,这些属性也可以通过JNDI属性文件和命令行进行设置。

如果打开API调试,您应该能够看到从何处获取哪个值。

现在,一旦您能够连接到代理上的JNDI连接工厂,这些值将从代理端获取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55385216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档