2012-07-17 69 views
0

你好傢伙我有這樣的問題,我所有的事情就像tutorial說。所以,現在我想查找我配置的主題和連接工廠,但沒有看到它們。我做類似:GlassFish上的獨立ActiveMQ客戶

try { 
     Properties propertiesAMQ = new Properties(); 
     propertiesAMQ.load(new FileInputStream("AMQ.properties")); 
     logger.info("Property file loaded succesfully..."); 
     propertiesAMQ.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
      "org.apache.activemq.jndi.ActiveMQInitialContextFactory"); 
     propertiesAMQ.setProperty(Context.PROVIDER_URL, 
       "tcp://localhost:61616"); 
    Context ctx = new InitialContext(propertiesAMQ); 
     javax.jms.TopicConnectionFactory factory = (javax.jms.TopicConnectionFactory) ctx 
       .lookup("amqpool"); 
javax.jms.Topic mytopic = (javax.jms.Topic) ctx.lookup("amqmsg") 

}

而且收到的NameNotFoundException。如果我使用連接工廠名稱,如「ConnectionFactory」,它會好的,但它不會看到我的主題我做錯了什麼?你還有其他這個主題的例子嗎?我正在使用glassfish 3.0.1和AMQ 5.5.0

回答

0

可能您錯過了命名空間,您可以在glassfish控制檯中查看確切的名稱,但最有可能它應該是;

javax.jms.Topic mytopic = (javax.jms.Topic) ctx.lookup("java:amqmsg") 
+0

現在好了它是 - 由:javax.naming.NamingException:計劃java無法識別。 好吧,它的工作,如果我像這樣寫道: ConnectionFactory factory = new ActiveMQConnectionFactory(); factory.createConnection(); ActiveMQQueue mytopic =(ActiveMQQueue)ctx.lookup(「dynamicQueues/amqmsg」); 但是它使用的工廠我不知道 – 2012-07-18 07:36:44

0

如何創建您的Topic資源?我有一個類似的問題,解決方案是使用Glassfish命令行工具'asadmin'創建管理資源對象。使用Glassfish管理控制檯創建它不起作用(導致NameNotFoundException)。

我結束了創建我用下面的命令Queu資源: '創建管理員對象-restype的javax.jms.Queue -raname ActiveMQ的-RAR-5.7.0 - 屬性則physicalname = QUEUENAME QUEUENAME'