방금 ActiveMQ로 시작했고 몇 가지 질문이있었습니다..Net NMS.ActiveMQ 세션과 메시지 전송 사이의 연결을 저장해야합니까
내가 지금 무슨 짓을
ActiveMQ를
를 사용하여 메시지를 보내야합니다 :public class ActiveMQSender
{
private readonly Uri connectionUri;
private readonly IConnectionFactory connectionFactory;
private readonly string destinationName;
public ActiveMQSender()
{
this.connectionUri = new Uri("activemq:tcp://localhost:61616");
this.connectionFactory = new NMSConnectionFactory(this.connectionUri);
this.destinationName = "queue://testQ";
}
public void Send(string msg)
{
using (var connection = this.connectionFactory.CreateConnection())
using (var session = connection.CreateSession())
{
var destination = SessionUtil.GetDestination(session, this.destinationName);
using (var producer = session.CreateProducer(destination))
{
connection.Start();
var message = session.CreateTextMessage(msg);
producer.Send(message);
}
}
}
}
생성자 매개 변수로 주입 될이 클래스의 인스턴스가 하나만있을 것입니다.
메시지가 자주 전송되므로 (10 초당 하나의 메시지 이상) 연결, 세션 또는 제작자 인스턴스를 재사용해야합니까? 연결 실패? 그러한 시나리오에서 일반적인 패턴은 무엇입니까?