'ActiveMq로 간단한 pub/sub를하려고합니다. 나는 그것을 전부 잘 일할 수있다, 그러나 구내 구독자는 대략 30 초 후에 연결을 끊는다. 내가 변경할 수있는 시간 초과 유형을 찾았지만 아무 것도 작동하지 않는 것 같습니다.ActiveMq NMS는 약 30 초 후에 연결을 끊습니다.
using System;
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using Apache.NMS.ActiveMQ.Commands;
namespace ActiveMQCatcher
{
internal class Program
{
private static void Main(string[] args)
{
IConnectionFactory factory = new ConnectionFactory("tcp://localhost:61616/");
using (IConnection connection = factory.CreateConnection())
{
connection.ClientId = "MYID";
connection.Start();
using (ISession session = connection.CreateSession())
{
IMessageConsumer consumer = session.CreateConsumer(new ActiveMQTopic("MYTOPIC"), null, false);
consumer.Listener += consumer_Listener;
Console.ReadLine();
}
connection.Stop();
}
}
private static void consumer_Listener(IMessage message)
{
Console.WriteLine("Got: " + ((ITextMessage) message).Text);
}
}
}
나는이 시도 : 다음은 가입자
connection.RequestTimeout = TimeSpan.MaxValue;
그러나 아무것도 변경하는 것 같지 않았어요.
문제를 해결하려면 프로그램을 실행하고 약 30 초 동안 기다리십시오. ActiveMQ Console에서 연결이 사라지는 것을 볼 수 있습니다 (기본값 : http://localhost:8161/admin/connections.jsp)
아이디어가 있으십니까?
좋은 캐치. 지금은 누수의 가능성이 있음을 알고 이런 식으로 구현해야합니다. 아직도 더 나은 방법을 찾지 못했습니다. – Kelly