クラス JmsMessageSender

java.lang.ObjectSE
org.springframework.jms.support.JmsAccessor
org.springframework.jms.support.destination.JmsDestinationAccessor
org.springframework.ws.transport.jms.JmsMessageSender
実装済みのインターフェース一覧:
org.springframework.beans.factory.InitializingBean, WebServiceMessageSender

public class JmsMessageSender extends org.springframework.jms.support.destination.JmsDestinationAccessor implements WebServiceMessageSender
JMS Message を使用する WebServiceMessageSender 実装。動作するには JMS ConnectionFactory が必要です。

このメッセージ送信者は、次の形式の URI をサポートしています。

jms:<destination>[?param-name=param-value][&param-name=param-value]
ここで、文字 :、?、& は文字そのものを表します。<destination> は、destination resolver によって解決される Queue または Topic の名前を表します。有効な param-name には以下が含まれます。
パラメーター名
param-name 説明
deliveryMode リクエストメッセージが永続的かどうかを示します。これは PERSISTENT または NON_PERSISTENT のいずれかです。MessageProducer.setDeliveryMode(int) を参照してください
messageType メッセージ型。BINARY_MESSAGE (デフォルト)または TEXT_MESSAGE のいずれかになります
priority リクエストメッセージに関連付けられた JMS 優先度(0 〜 9)。MessageProducer.setPriority(int) を参照してください
replyToName レスポンスメッセージを送信する必要がある宛先の名前。これは destination resolver によって解決されます
timeToLive リクエストメッセージの存続期間(ミリ秒単位)。MessageProducer.setTimeToLive(long) を参照してください

replyToName が設定されていない場合は、temporary queue が使用されます。

このクラスはデフォルトで BytesMessage メッセージを使用しますが、代わりに TextMessage メッセージを送信するように構成できます。TextMessages は添付ファイルと文字エンコードを確実にサポートしないため、BytesMessages が推奨されることに注意してください。

JMSURI の例は次のとおりです。

jms:SomeQueue
 jms:SomeTopic?priority=3&deliveryMode=NON_PERSISTENT
 jms:RequestQueue?replyToName=ResponseQueueName
 jms:Queue?messageType=TEXT_MESSAGE

WebServiceMessageSender.UriSource.APPLICATION の場合、デフォルトのチェックでは任意の jms: URI を受け入れます。WebServiceMessageSender.UriSource.REMOTE の場合、デフォルトのチェックでは、JNDI/LDAP/RMI スタイルの間接参照に似た宛先および replyToName フラグメントを拒否します (JmsDestinationDescriptor.containsSuspiciousJmsNameIndirection() を参照)。明示的な許可リスト、リゾルバー固有のルール、正当な宛先名にそのような部分文字列が含まれる場合の検証を調整するには、WebServiceMessageSender.DestinationPolicy を使用してください。

導入:
1.5.0
関連事項:
  • フィールドの詳細

    • DEFAULT_RECEIVE_TIMEOUT

      public static final long DEFAULT_RECEIVE_TIMEOUT
      受信操作のデフォルトのタイムアウト: -1 は、タイムアウトなしで受信をブロックしていることを示します。
      関連事項:
    • DEFAULT_TEXT_MESSAGE_ENCODING

      public static final StringSE DEFAULT_TEXT_MESSAGE_ENCODING
      TextMessage メッセージの読み取りと書き込みに使用されるデフォルトのエンコーディング。
      関連事項:
  • コンストラクターの詳細

    • JmsMessageSender

      public JmsMessageSender()
      新しい JmsMessageSender を作成します

      注意 : インスタンスを使用する前に、ConnectionFactory を設定する必要があります。このコンストラクターを使用して、BeanFactory を介して JmsTemplate を準備できます。通常、JmsAccessor.setConnectionFactory(ConnectionFactory) を介して ConnectionFactory を設定します。

      関連事項:
      • JmsAccessor.setConnectionFactory(ConnectionFactory)
    • JmsMessageSender

      public JmsMessageSender(jakarta.jms.ConnectionFactory connectionFactory)
      ConnectionFactory を指定して、新しい JmsMessageSender を作成します。
      パラメーター:
      connectionFactory - から接続を取得する ConnectionFactory
  • 方法の詳細