我正在尝试使用适用于.NET的Apache NMS API通过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 /
我尝试过这样更改连接网址(中间是ssl而不是tcp):
IConnectionFactory factory = new ConnectionFactory("activemq:ssl://localhost:61616");
然后我得到了这个异常:
无法从传输连接中读取数据:已建立的连接被主机中的软件中止了
我在这里做错了什么?如何发送和接收安全邮件?