エージェント:JBossMQ


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

新着メール受信時にJMSでメッセージ送信


  • 用意するもの
①$JBOSS_HOME/client/jbossall-client.jar
②$JBOSS_HOME/server/default/lib/jboss-j2ee.jar

  • 設定
①エージェントプロパティ->基本(電球アイコン)->実行 <= 新規メールの受信前
②エージェントプロパティ->セキュリティ(鍵アイコン)->実行時セキュリティレベルの設定 <= 2か3

以下ソース

import lotus.domino.*;
import java.util.Hashtable;
import javax.naming.*;
import javax.jms.*;
public class JavaAgent extends AgentBase {
 public final static String JMS_FACTORY="QueueConnectionFactory";
 public final static String QUEUE="queue/testQueue";
 public static void main(String args[]) {
   try {
     QueueConnectionFactory queueConnectionFactory;
     QueueConnection queueConnection;
     QueueSession queueSession;
     QueueSender queueSender;
     Queue queue;
     TextMessage msg;
     // JNDI InitialContextを作成します
     Hashtable hash = new Hashtable();
     hash.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
     hash.put("java.naming.provider.url", "localhost:1099");
     //↑リモートに送信する場合はlocalhostをIPアドレスに変更
     hash.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
     InitialContext ctx = new InitialContext(hash);
     // Connection FactoryとQueueをLook upします
     queueConnectionFactory  = (QueueConnectionFactory)ctx.lookup(JMS_FACTORY);
     queue = (Queue) ctx.lookup(QUEUE);
     // コネクションを作成
     queueConnection = queueConnectionFactory .createQueueConnection();
     // セッションを作成
     queueSession = queueConnection.createQueueSession(false,javax.jms.Session.AUTO_ACKNOWLEDGE);
     // キューセンダーを作成
     queueSender   = queueSession.createSender(queue);
     // メッセージを作成
     msg = queueSession.createTextMessage();
     msg.setText("Hello World");
     // メッセージの配送をスタート
     queueConnection.start();
     // メッセージを送信
     queueSender.send(msg);
     // 接続を切断
     queueSender.close();
     queueSession.close();
     queueConnection.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
}


以下のエラーメッセージが表示される(動作には問題なし)

Agent error : Error cleaning up agent threads
どうもJBossMQのスレッドがうまく消化できないみたい

参考URL

JavaでHello World トピックを使ったやり方も書いてある
IBM - Troubleshooting 上記のエラーメッセージの対処法(解決できず)
Domino懇談室 同じ状況のユーザーの書き込み
IBM -729912 中盤にノーツでJavaを使う際の注意が書かれている
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。