1

Apache NMS API for .NET を使用して、ActiveMQ で SSL 経由で安全なメッセージを送信しようとしています。

broker.xml で、デフォルトのアクセプタに「sslEnabled=true」を追加してみました:

<acceptor name="artemis">tcp://0.0.0.0:61616?sslEnabled=true;tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>

私はこのような消費者を設定しようとしています:

IConnectionFactory factory = new ConnectionFactory("activemq:tcp://localhost:61616");
connection = (Connection)factory.CreateConnection();                       
connection.Start();
ISession session = connection.CreateSession();
IDestination destination = session.GetTopic("topic1");
consumer = session.CreateConsumer(destination);
consumer.Listener += new MessageListener(HandleMessage);

コードが行connection.Start()に到達すると、次の例外が発生します。

チャネルが長時間非アクティブでした: tcp://localhost:61616/

接続 URL を次のように変更してみました (tcp ではなく中央に ssl):

IConnectionFactory factory = new ConnectionFactory("activemq:ssl://localhost:61616");

そして、私はこの例外を得ました:

トランスポート接続からデータを読み取ることができません: 確立された接続は、ホスト マシンのソフトウェアによって中止されました

ここで何が間違っていますか?セキュリティで保護されたメッセージを送受信するにはどうすればよいですか?

4

0 に答える 0