2011-01-18 15 views
1

JMSメッセージ送信者をStrutsベースのWebアプリケーションに統合しようとしています。メソッド内でメッセージ送信者を定義し、actionFormのexecuteメソッドでメソッドを呼び出しました。私が手にエラーは、私は、エラーがメッセージブローカーとしてのActiveMQを使用してI'amこの場所strutsのJMSキュー接続ファクトリ

try { 
    connectionFactory = (ConnectionFactory)jndiContext.lookup("queueConnectionFactory"); 
    destination = (Destination)jndiContext.lookup(destinationName); 
} catch (NamingException e) { 
    e.printStackTrace(); 
    System.exit(1); 
} 

である推測

javax.naming.NameNotFoundException: Name queueConnectionFactory is not bound in this Context 

です。

+0

アプリケーションについて、他のものは自動的にシャットダウンを取得し、私が接続してWebページ上のエラー、すなわちでき得るTomcatを実行した後、..です。 – technocrat

答えて

2

Webレイヤーでは、connの完全なJNDI名を使用する必要があります。工場、すなわちjava:comp/env/queueConnectionFactory。 Tomcatので

、あなたもweb.xmlでそれを宣言する必要があります:

<resource-ref id="ResourceRef_0"> 
    <description>Logical mapping of QueueConnectionFactory</description> 
    <res-ref-name>queueConnectionFactory</res-ref-name> 
    <res-type>javax.jms.QueueConnectionFactory</res-type> 
    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope> 
</resource-ref> 
関連する問題