2010-12-08 3 views
1

누구든지 Oracle AQ Queue에서 수신 대기하는 방법을 보여주는 샘플 Java 코드를 가르쳐 주시겠습니까?JMS 및 Oracle AQ

감사 데미안

답변

2

여기에 기초를합니다. conn 변수에는 이미 DB에 연결된 일반 JDBC 연결 클래스가 들어 있습니다.

QueueConnection queueConnection = AQjmsQueueConnectionFactory. 
     createQueueConnection(conn); 
QueueSession queueSession = queueConnection. 
     createQueueSession(true, Session.SESSION_TRANSACTED); 
Queue queue=queueSession.createQueue("my_oracle_queue"); 
QueueReceiver receiver= queueSession.createReceiver(queue); 
queueConnection.start(); 
Message message=receiver.receive(); 

AQjmsQueueConnectionFactory와 같은 Oracle 특정 클래스는 oracle.jms 패키지에 있습니다.

+0

안녕하세요 JOTN, 감사합니다. WOuld에는 대기열을 계속 폴링하는 샘플이 있습니까? – Damien

+0

프로세스가 메시지 대기를 차단하므로 폴링 할 필요가 없습니다. 차단하지 않으려면 QueueReceiver의 setMessageListener 메소드를 살펴보고 콜백을 사용하십시오. – JOTN

+0

안녕하세요 JotnMany 귀하의 의견을 thaks. 우리의 webapp에서 당신의 솔루션을 시도하고 완벽하게 작동합니다. – Damien