【问题标题】:Solace MQ - how to check destination is up or notSolace MQ - 如何检查目的地是否启动
【发布时间】:2018-01-03 08:57:59
【问题描述】:

我在下面编写了实用程序代码来检查 Solace MQ 目标是否已启动,而无需向目标发送任何消息。

...

try {

env = new Hashtable<String, Object>();
env.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.solacesystems.jndi.SolJNDIInitialContextFactory");
env.put(InitialContext.PROVIDER_URL, urlStr);
env.put(Context.SECURITY_PRINCIPAL, principalStr);
env.put(Context.SECURITY_CREDENTIALS, pwdStr);

initialContext = new InitialContext(env);
cf = (SolConnectionFactory) initialContext.lookup(jndiname);

connection = cf.createConnection();

SolDestination dest = (SolDestination) initialContext.lookup(destString);

System.out.println("Successfully connected.")

} catch (Exception e) {
    System.out.println("Failed to connect.")
}

我需要添加一些东西还是验证目的地?

【问题讨论】:

    标签: java jms solace-mq


    【解决方案1】:

    您提供的代码 sn-p 建立客户端连接,然后对队列进行 JNDI 查找。

    这将成功检查队列是否存在,并在路由器的 JNDI 存储中作为 JNDI 对象提供。

    这并不一定表明 Solace 队列已“启动”。队列可以存在于 JNDI 存储中,但由于多种原因仍处于关闭状态,例如被管理性关闭,或者路由器对于保证消息传递不处于活动状态。您需要创建一个使用者来检查队列是否已启动且可访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2013-05-18
      相关资源
      最近更新 更多