Java Message Service (JMS) を使用して、囲まれたテキスト メッセージを送信します。
sendmsg
タグの本文内にフロー制御タグをネストして、テキスト メッセージを動的に構築できます。sendmsg
タグに msgparam
タグをネストして、追加のメッセージ プロパティを指定することもできます。sendmsg
タグが transaction
タグ内にネストされている場合、sendmsg
タグがトランザクションの構成部分となり、sendmsg
動作を完了できるかどうかはそのトランザクションの全動作によって決まります。トランザクション内の sql
、sendmsg
、getmsg
などのすべての動作が完了すると、変更がすべて保存されます。すべての動作が完了しない場合は、例外が発生し、変更がロール バックされます。
メモ
|
sendmsg
タグでは、JMS QueueConnectionFactory および JNDI 検索 (ルックアップ) による JMS メッセージ キューを使用します。JMS 接続プールが指定されます。JRun 管理者は、Web アプリケーションで使用するメッセージ キュー オブジェクトをあらかじめ定義しておく必要があります。詳細については、"前提条件"セクションを参照してください。
<jrun:sendmsg
msgsrc="message queue connection factory" queue="message queue" [username="user"] [password="password"] [delivery="PERSISTENT|NON_PERSISTENT"] [priority="integer"] [expire="never|time in milliseconds"]> オプション <jrun:msgparam/> のある電子メール メッセージ本文 </jrun:sendmsg>
必須。java.lang.String
または javax.jms.QueueConnectionFactory
を取り
ます。
メッセージのソースであるメッセージ QueueConnectionFactory。文字列を指定
すると、"java:comp/env/jms/[msgsrc]" で JNDI 検索 (ルックアップ) を実行す
ることで、QueueConnectionFactory が取得できると仮定されます。
QueueConnectionFactory
オブジェクトを既定の InitialContext から取得でき
ない場合は、jndi
タグを使用して別の InitialContext を検索してファクトリを
見つける必要があります。詳細については、jndiセクションを参照してください。
必須。属性として、java.lang.String
または javax.jms.Queue
を取ります。
メッセージ キュー オブジェクト。文字列を指定すると、"java:comp/env/jms/
[queue]" で JNDI 検索 (ルックアップ) を実行することで、キューが取得できると
仮定されます。Queue
オブジェクトを既定の InitialContext
から取得できない
場合は、jndi
タグを使用して別の InitialContext
を検索してキューを見つける
必要があります。詳細については、jndiセクションを参照してください。
オプション。java.lang.String
を取ります。
メッセージ キュー認証のためのユーザ名。
オプション。java.lang.String
を取ります。
メッセージ キュー認証のためのパスワード。
オプション。java.lang.String
を取ります。
メッセージ配信モード。有効な値は PERSISTENT
と NON_PERSISTENT
です。既定値
は PERSISTENT
です。
オプション。java.lang.String
、java.lang.Integer
、または int
を取ります。
メッセージの優先レベル。
オプション。java.lang.String
、java.lang.Long
、または long
を取ります。
メッセージが期限切れになるまでの時間間隔 (ミリ秒単位)。既定では期限はあり ません。
sendmsg
および getmsg
タグを使用するには、EJB および JMS オプションを含む完全な JRun インストールを実行する必要があります。ユーザ独自のメッセージ キューを指定する場合は、JRun サーバの local.properties
ファイルを編集して、次のエントリを加えます。
jms.queue.[your queue name].description=[description]
jms.queue.[your queue name].display-name=[displayname
in JMC]
この JSP は、sendmsg
タグの最も一般的な使用方法を示しています。通常、Web アプリケーションでは、JNDI 検索 (ルックアップ) を実行して JMS QueueConnectionFactory を取得する必要があります。また、同じアプローチで JMS メッセージ キュー オブジェクトの事前定義を取得する必要もあります。param
タグと jndi
タグはこれらの分散オブジェクトの取得に使用されます。
まず、param
タグを使用して、JMS QueueConnectionFactory と JMS メッセージ キューを保持するスクリプト変数を宣言します。次に jndi
タグを使用してオブジェクトを見つけます。最後に、sendmsg
タグが JNDI から返されるオブジェクトを使用してメッセージ送信動作を実行します。
<%@ page import="allaire.taglib.*" %>
<%@ taglib uri="jruntags" prefix="jrun" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>sendmsg Tag Example</title></head><body> <%-- java:comp/env/jms/QueueConnectionFactory を使用して QueueConnectionFactory を検索し、java:comp/env/jms/Queue1 を 使用してキューを検索します。 --%> <jrun:sendmsg msgsrc="QueueConnectionFactory" queue="Queue1"> This is a text message. </jrun:sendmsg> <%-- ファクトリとキューが既定の InitialContext で見つからない場合は、jndi タグを使用し て検索できます。 --%> <jrun:jndi action="lookup" name="java:comp/env/jms/QueueConnectionFactory" id="f"/> <jrun:jndi name="java:comp/env/jms/Queue1" id="q"/> <jrun:sendmsg msgsrc="<%= page.getAttribute("f") %>" queue="<%= page.getAttribute("q") %>"> This is a text message. </jrun:sendmsg> </body></html>