【问题标题】:Simple Java Client to connect to a Sonic Topic连接到 Sonic 主题的简单 Java 客户端
【发布时间】:2014-03-22 03:22:31
【问题描述】:

我需要编写一个简单的 java 类,将消息发送到 Sonic 主题。我可以使用 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 主题。

【问题讨论】:

    标签: java jndi jms-topic sonic


    【解决方案1】:

    我使用以下解决了我的问题。如果您遇到同样的问题,这是它。主题 = session.createTopic(topicName);

    【讨论】:

      猜你喜欢
      • 2015-08-16
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 2013-10-14
      • 2012-04-22
      • 1970-01-01
      • 2016-12-22
      • 1970-01-01
      相关资源
      最近更新 更多