Простой Java-клиент для подключения к Sonic Topic

Мне нужно написать простой Java-класс, который отправляет сообщения в Sonic Topic. Я могу использовать значения 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 не найден в указанном контексте

Когда я отлаживаю код, я вижу, что переменная "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) 

Мне нужно знать, как написать простой Java-клиент для подключения к теме Sonic.

1 ответ

Я использовал следующее, что решило мою проблему. Вот если вы столкнетесь с той же проблемой. topic = session.createTopic(topicName);

Другие вопросы по тегам