JNDIを使用してActiveMQに接続するだけで作成しようとしています。
私は持っています
'example.A'という名前のキュー。
JNDIに触れているActiveMQのドキュメントによると、JNDIを介してConectionFactories and Queues(Topics)を使用する場合は、クラスパスにjndi.propertiesファイルを配置する必要があります。私が理解しているように、activeMQクラスパスはデフォルトで%activemq%/confディレクトリです。私はそれを変更していません。だから私は私のキューにこのプロパティを持っています:
queue.MyQueue = example.A
以下のように、JNDIを使用するActiveMQ用のJavaクライアントクラスを作成しました。
Properties jndiParameters = new Properties() ; jndiParameters.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory"); jndiParameters.put(Context.PROVIDER_URL, "tcp://localhost:61616"); Context context = new InitialContext(jndiParameters); ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("ConnectionFactory"); Queue queue = (Queue) context.lookup("MyQueue");
しかし、キューが見つからないため、例外がスローされます:javax.naming.NameNotFoundException:MyQueue
私の間違いはどこにありますか?