2017-07-27 9 views
0

宛先にメッセージを送信せずにSolace MQ宛先が稼動しているかどうかを確認するユーティリティコードを以下に記述しました。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.") 
} 

何かを追加する必要がありますか、それとも目的地を検証しますか?

答えて

1

提供したコードスニペットは、クライアント接続を確立し、次にキューのJNDIルックアップを行います。

これは、キューが存在し、ルータ上のJNDIストアにJNDIオブジェクトとしてプロビジョニングされているかどうかを正常に確認します。

これは必ずしもSolaceキューが「up」であるとは限りません。キューはJNDIストアに存在できますが、管理上のシャットダウンや、保証されたメッセージングのためにルータがアクティブでないなど、さまざまな理由でキューが停止しています。キューが稼働しているかどうかを確認するには、コンシューマーを作成する必要があります。

関連する問題