クラス JmsMessageSender
- 実装済みのインターフェース一覧:
org.springframework.beans.factory.InitializingBean, WebServiceMessageSender
Message を使用する WebServiceMessageSender 実装。動作するには JMS ConnectionFactory が必要です。このメッセージ送信者は、次の形式の URI をサポートしています。
jms:<destination>[?param-name=param-value][¶m-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
- 関連事項:
ネストされたクラスの概要
インターフェース WebServiceMessageSender から継承されたネストクラス / インターフェース
WebServiceMessageSender.DestinationDescriptor, WebServiceMessageSender.DestinationPolicy<D>, WebServiceMessageSender.UriSourceフィールド概要
フィールド修飾子と型フィールド説明static final long受信操作のデフォルトのタイムアウト: -1 は、タイムアウトなしで受信をブロックしていることを示します。static final StringSETextMessageメッセージの読み取りと書き込みに使用されるデフォルトのエンコーディング。クラス org.springframework.jms.support.destination.JmsDestinationAccessor から継承されたフィールド
RECEIVE_TIMEOUT_INDEFINITE_WAIT, RECEIVE_TIMEOUT_NO_WAITクラス org.springframework.jms.support.JmsAccessor から継承されたフィールド
loggerコンストラクター概要
コンストラクターコンストラクター説明新しいJmsMessageSenderを作成しますJmsMessageSender(jakarta.jms.ConnectionFactory connectionFactory) ConnectionFactory を指定して、新しいJmsMessageSenderを作成します。方法の概要
修飾子と型メソッド説明createConnection(URISE uri) 指定された URI に新しいWebServiceConnectionを作成します。protected PredicateSE<JmsDestinationDescriptor> defaultChecks(WebServiceMessageSender.UriSource uriSource) 指定されたWebServiceMessageSender.UriSourceに適用するデフォルトのチェックを返します。voidsetDestinationPolicy(WebServiceMessageSender.DestinationPolicy<JmsDestinationDescriptor> destinationPolicy) 送信者のデフォルトチェックを使用して作成するカスタムWebServiceMessageSender.DestinationPolicyを設定します。voidsetPostProcessor(org.springframework.jms.core.MessagePostProcessor postProcessor) オプションのMessagePostProcessorを設定して、XML コンテンツが設定された後に送信メッセージをさらに変更します。voidsetReceiveTimeout(long receiveTimeout) 受信呼び出しに使用するタイムアウトを設定します。voidsetTextMessageEncoding(StringSE textMessageEncoding) TextMessageメッセージからの読み取りに使用されるエンコーディングを設定します。booleansupports(URISE uri, WebServiceMessageSender.UriSource uriSource) この送信者が、指定されたWebServiceMessageSender.UriSourceの URI をサポートしているかどうか。クラス org.springframework.jms.support.destination.JmsDestinationAccessor から継承されたメソッド
getDestinationResolver, isPubSubDomain, receiveFromConsumer, resolveDestinationName, setDestinationResolver, setPubSubDomainクラス org.springframework.jms.support.JmsAccessor から継承されたメソッド
afterPropertiesSet, convertJmsAccessException, createConnection, createSession, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, obtainConnectionFactory, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName, setSessionTransactedクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース WebServiceMessageSender から継承されたメソッド
supports
フィールドの詳細
DEFAULT_RECEIVE_TIMEOUT
public static final long DEFAULT_RECEIVE_TIMEOUT受信操作のデフォルトのタイムアウト: -1 は、タイムアウトなしで受信をブロックしていることを示します。- 関連事項:
DEFAULT_TEXT_MESSAGE_ENCODING
TextMessageメッセージの読み取りと書き込みに使用されるデフォルトのエンコーディング。- 関連事項:
コンストラクターの詳細
JmsMessageSender
public JmsMessageSender()新しいJmsMessageSenderを作成します注意 : インスタンスを使用する前に、ConnectionFactory を設定する必要があります。このコンストラクターを使用して、BeanFactory を介して JmsTemplate を準備できます。通常、
JmsAccessor.setConnectionFactory(ConnectionFactory)を介して ConnectionFactory を設定します。- 関連事項:
JmsMessageSender
public JmsMessageSender(jakarta.jms.ConnectionFactory connectionFactory) ConnectionFactory を指定して、新しいJmsMessageSenderを作成します。- パラメーター:
connectionFactory- から接続を取得する ConnectionFactory
方法の詳細
setReceiveTimeout
public void setReceiveTimeout(long receiveTimeout) 受信呼び出しに使用するタイムアウトを設定します。デフォルトは -1 で、タイムアウトがないことを意味します。- 関連事項:
setTextMessageEncoding
TextMessageメッセージからの読み取りに使用されるエンコーディングを設定します。デフォルトはUTF-8です。setPostProcessor
public void setPostProcessor(org.springframework.jms.core.MessagePostProcessor postProcessor) オプションのMessagePostProcessorを設定して、XML コンテンツが設定された後に送信メッセージをさらに変更します。setDestinationPolicy
public void setDestinationPolicy(WebServiceMessageSender.DestinationPolicy<JmsDestinationDescriptor> destinationPolicy) 送信者のデフォルトチェックを使用して作成するためのカスタムWebServiceMessageSender.DestinationPolicyを設定します。設定しない場合は、デフォルトチェックのみが適用されます。- パラメーター:
destinationPolicy- 適用するポリシー- 導入:
- 3.1.9
createConnection
インターフェースからコピーされた説明:WebServiceMessageSender指定された URI に新しいWebServiceConnectionを作成します。- 次で指定:
- インターフェース
WebServiceMessageSender内のcreateConnection - パラメーター:
uri- 接続を開くための URI- 戻り値:
- 新しい接続
- 例外:
IOExceptionSE- I/O エラーの場合
supports
インターフェースからコピーされた説明:WebServiceMessageSenderこの送信者が、指定されたWebServiceMessageSender.UriSourceの URI をサポートしているかどうか。実装では通常、WebServiceMessageSender.UriSource.APPLICATIONに対して従来のWebServiceMessageSender.supports(URI)と同じトランスポートルールを適用し、WebServiceMessageSender.UriSource.REMOTEに対してより厳格なチェックを追加します。- 次で指定:
- インターフェース
WebServiceMessageSender内のsupports - パラメーター:
uri- チェックする URIuriSource- URI がアプリケーション制御かリモート影響か- 戻り値:
trueこの送信者がそのソースの URI を受け入れる場合
defaultChecks
protected PredicateSE<JmsDestinationDescriptor> defaultChecks(WebServiceMessageSender.UriSource uriSource) 指定されたWebServiceMessageSender.UriSourceに適用するデフォルトのチェックを返します。- 戻り値:
- 適用されるデフォルトのチェック
- 導入:
- 3.1.9