J'essaie de faire un pub/sub simple avec ActiveMq. Je peux tout faire fonctionner correctement, mais l'abonné se déconnecte après environ 30 secondes. J'ai cherché un type de valeur de délai d'attente que je peux changer mais rien ne semble fonctionner. Voici l'abonné:ActiveMq NMS Déconnecte après environ 30 secondes
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);
}
}
}
J'ai essayé ceci:
connection.RequestTimeout = TimeSpan.MaxValue;
Mais il ne semble pas changer quoi que ce soit.
Pour résoudre le problème, exécutez le programme et attendez environ 30 secondes. Vous pouvez voir la connexion disparaître dans la console ActiveMQ (http://localhost:8161/admin/connections.jsp par défaut)
Des idées?
Bonne prise. Pour l'instant j'ai dû le mettre en œuvre comme ça en sachant qu'il y a un risque de fuite. Je n'ai toujours pas trouvé de meilleur moyen. – Kelly