2010-07-28 2 views

답변

1

분명히 메시지가 생성되는 대상에 리스너가있는 경우에는 예입니다.

0

아래 예제에서 볼 수 있듯이 클라이언트는 제작자와 소비자가 될 수 있습니다. 그것은 당신이 그것을 어떻게 설정 하느냐에 달려 있습니다. 일반적으로 클라이언트는 비동기 메시징을 수행하는 경우 소비자 또는 생산자입니다. 요청/응답을 수행하는 경우 두 가지 모두를 수행하며 상관 ID 또는 messageID를 사용하여 요청 및 응답을 추적합니다. 아래 샘플은 비동기 통신을위한 것입니다.

나는 대답을 얻었다
myConnFactory = new com.sun.messaging.ConnectionFactory(); 
    Connection myConn = myConnFactory.createConnection(); 
    //Create a session within the connection. 
    Session mySess = myConn.createSession(false, Session.AUTO_ACKNOWLEDGE); 
    myQueue = new com.sun.messaging.Queue("world"); 

    //Create a message producer. 
    MessageProducer myMsgProducer = mySess.createProducer(myQueue); 

    //Create a message consumer. (Use if going to read from the queue) 
    MessageConsumer myMsgConsumer = mySess.createConsumer(myQueue); 

    //Start the Connection 
    myConn.start(); 

    //Create and send a message to the queue. 
    TextMessage myTextMsg = mySess.createTextMessage(); 
    myTextMsg.setText("Hello World"); 
    System.out.println("Sending Message: " + myTextMsg.getText()); 
    myMsgProducer.send(myTextMsg); 

    // The rest of the code is for reading from a queue - optional 
    //Receive a message from the queue. 
    Message msg = myMsgConsumer.receive(); 

    //Retreive the contents of the message. 
    if (msg instanceof TextMessage) { 
     TextMessage txtMsg = (TextMessage) msg; 
     System.out.println("Read Message: " + txtMsg.getText()); 
    } 
+0

오타 오류와 유사합니다. "아래 샘플은 동기식 통신을위한 것입니다." – Sujee

+0

@Sujee - 코드를 재정렬했습니다. 너는 부분적으로 정확했다. 실제로 그것은 비동기 통신을위한 것이 었습니다 - 동기를 원하면 나는 특정 ID 또는 특정 상관 ID의 메시지를 얻기 위해 기다렸을 것입니다. –

관련 문제