2011-12-23 6 views
-2

Javaでメッセージをデキューするサンプルプログラムを提供できますか?私はこの作業を行うスタンドアロンのJavaプログラムが欲しい。 JMSメッセージをデキューするスタンドアロンJava

は、Oracleヘクタールが所有者である「 myownerは」&が、今私は、Javaを使用して、これらのメッセージをデキューしたい「 myqueue」キュー内 JMS_TEXT_MESSAGEペイロードタイプを使用してメッセージをエンキューとしましょう。スタンドアロンJavaでサンプルプログラムを提供できますか?

ありがとうございます!


@Ratha、私はそれが完璧に動作します&すべてのメッセージを閲覧することができ、あなたのサンプル&を試してみました!私はそれらのメッセージを消費しようとすると、

はしかし、私はそれが線の下に私には、彼らがキュー&表示から削除されますよを通して考えた:

System.out.println("MESSAGE RECEIVED " + msg.getText()); 

しかし、その代わりに、それは私の下の行にエラーを与えます:

MessageConsumer consumer = session.createConsumer(queue); 

Exception in thread "main" java.lang.AbstractMethodError: oracle.jms.AQjmsSession.createConsumer(Ljavax/jms/Destination;)Ljavax/jms/MessageConsumer; 
at OracleAQClient.consumeMessage(OracleAQClient.java:141) 
at OracleAQClient.main(OracleAQClient.java:159) 

このエラーを修正する方法を教えてください。

ありがとうございます!

+0

あなたはJMXコンソールでのキューからメッセージを削除することができるはずです。 – CoolBeans

+0

@ Mike:ここでは、プログラム全体を手に入れることはできません。これまでに試したことは何でも説明してください。 – karthik

答えて

0

あなたは、私は、より詳細なコードが含まれているこれらの記事を、書いたメッセージをデキューするには、中立コード固有またはベンダー右ベンダー.. 、コードブロック

public static void consumeMessage(String user, String queueName) { 
    Queue queue; 
    try { 
    QueueConnection QCon = getConnection(); 
    Session session = QCon.createQueueSession(false,Session.CLIENT_ACKNOWLEDGE); 
    QCon.start(); 
    queue = ((AQjmsSession) session).getQueue(user, queueName); 
    MessageConsumer consumer = session.createConsumer(queue); 
    TextMessage msg = (TextMessage) consumer.receive(); 
    System.out.println("MESSAGE RECEIVED " + msg.getText()); 

    consumer.close(); 
    session.close(); 
    QCon.close(); 
    } catch (JMSException e) { 
    e.printStackTrace(); 
    } 
} 

次利用をすることができます。

http://vvratha.blogspot.com/2011/10/creating-queue-in-oracleaq.html

http://vvratha.blogspot.com/2011/10/java-client-for-jndi-lookup-with-ojms.html

+0

他のサイトにリンクしているだけの回答は良い答えではありません。 –

+1

訂正済み..sorry – Ratha