3

activemq にメッセージを送信するアプリケーションを正常に実行しています。spring.net と Nmstemplate を使用してブローカーに接続しています。一般的な xml 構成ファイルは次のとおりです。

<object id="ActiveMqConnectionFactory" 
        type="Apache.NMS.ActiveMQ.ConnectionFactory, Apache.NMS.ActiveMQ">
</object>

<object id="ConnectionFactory"
        type="Spring.Messaging.Nms.Connections.CachingConnectionFactory, Spring.Messaging.Nms">
  <constructor-arg index="0" ref="ActiveMqConnectionFactory"/>
  <property name="SessionCacheSize" value="10"/>
</object>

<object id="NmsTemplate" 
        type="Spring.Messaging.Nms.Core.NmsTemplate, Spring.Messaging.Nms">
  <constructor-arg index="0" ref="ConnectionFactory"/>
  <property name="MessageConverter" ref="SimpleMessageConverter"/>
</object>

<object id="SimpleMessageConverter" 
        type="Spring.Messaging.Nms.Support.Converter.SimpleMessageConverter, Spring.Messaging.Nms">
</object>

すべてが機能するまで、NmsTemplate.ConvertAndSend(); で送信メッセージを見つけます。問題は、ユーザー名/パスワードを使用して接続を保護したいということです。activemq 構成ファイルで資格情報をセットアップしましたが、この資格情報をコードで提供する必要がありますが、どこにあるのかわかりません!! 私は試しました:

<object id="ActiveMqConnectionFactory" type="Apache.NMS.ActiveMQ.ConnectionFactory, Apache.NMS.ActiveMQ">
  <property name="UserName" value="usertest"/>
  <property name="Password" value="passwordtest"/>
</object>

しかし、送信すると、「接続は既に閉じられています」という例外が発生し、コードで同じ設定の資格情報が取得されます。

それで、安全なactivemqブローカーにメッセージを送信するためにユーザー名/パスワードを設定する方法の良い例またはヒントを誰かが持っていますか?

4

1 に答える 1