ドキュメントで説明されているように、activemq.xml (ActiveMQ バージョン 5.2.0) で構成することにより、キューをセットアップしました。
<destinations>
<queue physicalName="FOO.BAR" />
<queue physicalName="DUMMY" />
</destinations>
次のコードを使用して、(同じホスト上の) Java からアクセスしようとしています。
Hashtable properties = new Hashtable();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
properties.put(Context.PROVIDER_URL, "tcp://localhost:61616");
context = new InitialContext(properties);
factory = (ConnectionFactory) context.lookup("ConnectionFactory");
connection = factory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
queueName = "DUMMY"; // which can be either FOO.BAR or DUMMY
dest = (Destination) context.lookup(queueName);
キューは jconsole (Tree / org.apache.activemq / Queue) に表示されますが、次のエラーが表示されます。
javax.naming.NameNotFoundException: DUMMY
私が間違っていることを教えてください。大変感謝します!