이전 응용 프로그램에서 JBoss Messaging에서 HornetQ로 JMS 시스템을 업그레이드하는 중입니다.이 응용 프로그램의 사용 방법과 관련된 것으로 보이는 몇 가지 문제점이 있습니다. JMS 연결을 관리합니다. 이것은 JMS에 처음으로 대규모로 노출 된 것입니다 (간단한 장난감 사용 이외). 그래서 현재의 관용어가 ... 정확하고, 어리석은, 또는 죽은 잘못된 것인지 궁금합니다.HornetQ를 사용하는 JMS 연결/ConnectionFactory 참조
다음은 현재 시스템의 작동 방식입니다.
static QueueConnection connection;
static boolean isConnected;
static void sendSomeMessage(Object sendMe) {
if(!isConnected) connect();
}
static void connect() {
// jndi lookup for connection factory
connection = factory.createQueueConnection();
// lambdas in java pseudo code, woot!
connection.onException => disconnect();
connection.start();
isConnected = true;
}
static void disconnect() {
connection.close()
isConnected = false;
}
이것의 요점은 접속 에러가 마지막 종료하고 다시 가져올 연결을 발생할 때 에러가 발생할 때까지 전송되는 매 메시지의 반복 사용한다는 것이다.
필자가 보았던 모든 예제는 모든 메시지에 대해 항상 새로운 연결 팩토리와 새 연결을 생성하지만,이 예제는 큰 시스템 예제가 아니며 "사용법"예제가 아닙니다.
연결 팩토리를 캐시해야 JMS 관 리에 대한 단일 관리 참조가 허용되는 관례로 유지됩니까? 새로운 메시지가있을 때마다 둘 다 재현되어야합니까?
연결 팩토리를 다시 사용하지만 매번 새로운 연결을 사용하는 것이 좋습니다.
덕분에 매우 도움이되었습니다! – Michael