- - PR -
J2EE&OpenJMS
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-14 21:23
以下の構成でJMSを使用しメッセージを送信しようとしているのですが、
J2EE1.3.1 RI*OpenJMS0.7.6 J2EE(RI)内にあるJMSが優先されるようでうまくいきません。。 下記のソースを単体で動かした場合は、問題なく動作しますが、 J2EE(RI)内のソースに組み込んで実行する下記のエラーとなり 「JmsQueueConnectionFactory」が見つからないとのエラーです。 解決策がありましたら知恵をお貸しください。 また、OpenJMSを使用する理由は、 メッセージキューの管理がしやすいのとデータベースでキュー管理が簡単にできる などの理由です。 J2EE(RI)の標準JMSを使用しない理由は、 メッセージキューの残り数がわからない!?のと キューが残っている状態で停止し、次にJ2EE(RI)を起動したときに残りキューが 起動しきっていない状態で受信処理が始まってしまう!? などの理由です。 ※このあたりは、勉強不足のため不明な点も多いかと思います。 OpenJMS以外でも何かよいものがありましたら教えてください。 --SORCE------------------------------------------------ import java.util.*; import javax.jms.*; import javax.naming.*; import org.exolab.jms.client.*; public class SampleA { public static void main(String[] args) { new SampleA(); } public SampleA() { try { //Hashtable properties = new Hashtable(); //properties.put(Context.INITIAL_CONTEXT_FACTORY, // "org.exolab.jms.jndi.InitialContextFactory"); //properties.put(Context.PROVIDER_URL, "rmi://localhost:1099/"); // Context の取得 //Context context = new InitialContext(properties); Properties jndiResource = new Properties(); jndiResource.load(getClass().getResourceAsStream("jndi.properties")); Context context = new InitialContext(jndiResource); // PTP 用コネクションファクトリの取得 QueueConnectionFactory factory = (QueueConnectionFactory) context.lookup("JmsQueueConnectionFactory"); QueueConnection conn = factory.createQueueConnection(); conn.start(); // セッションの作成 QueueSession session = conn.createQueueSession(false,Session.AUTO_ACKNOWLEDGE); // キューの取得 JmsQueue queue = (JmsQueue) context.lookup("queue1"); // メッセージの送信 QueueSender sender = session.createSender(queue); TextMessage message = session.createTextMessage("HelloWorld"); sender.send(message); // 終了処理 conn.stop(); session.close(); conn.close(); } catch (Exception p) { p.printStackTrace(); } } } ------------------------------------------------------- --ERROR------------------------------------------------ javax.naming.NameNotFoundException: JmsQueueConnectionFactory not found <<no stack trace available>> ------------------------------------------------------- | ||||
|
投稿日時: 2005-09-14 22:18
本筋とは関係ないのですが、J2EE RIは実運用には使用できないのですが、その辺は
大丈夫でしょうか。
この辺を読むと実運用で使おうとしているように見えるのですが。 | ||||
|
投稿日時: 2005-09-14 22:49
現在、JAVAの勉強をしておりまして
思いついたことがJAVAで実際に実現できるのかをいろいろ試しています。。 J2EE RIを使っている理由は、 J2EEの基本となるものと認識しており今後、他のAPサーバを使用することに なっても無駄にはならないと思って使ってます。 |
1