0

メッセージを Sonic Topic に送信する単純な Java クラスを作成する必要があります。ルックアップに JNDI 値を使用できます。これがコードです。

Hashtable<String, String> properties = new Hashtable<>();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sonicsw.jndi.mfcontext.MFContextFactory");
properties.put(Context.PROVIDER_URL, "tcp://Devserver:7002");
properties.put(Context.SECURITY_PRINCIPAL, "username");
properties.put(Context.SECURITY_CREDENTIALS, "password");
properties.put("com.sonicsw.jndi.mfcontext.domain", "dmDEV");
Context jndiContext = new InitialContext(properties);
ConnectionFactory connectionFactory = (ConnectionFactory) jndiContext.lookup("TopicConnectionFactory");
Topic topic = (Topic) jndiContext.lookup("testtopic");

これにより、エラー javax.naming.NameNotFoundException: /testtopic not found in the specified context がスローされます

コードをデバッグすると、「connectionFactory」変数に次のフィールドと値があり、上記のプロパティで指定した値とはまったく異なることがわかります。

brokerHostName  "MyMachine" (id=55) 
brokerPort  0   
brokerProtocol  "tcp" (id=59)   
brokerURL   "" (id=66)  
clientID    null    
connectID   null    
defaultPassword "" (id=67)  
defaultUserName "Administrator" (id=68) 

Sonic トピックに接続するための単純な Java クライアントの作成方法を知る必要があります。

4

1 に答える 1