メッセージの処理時間を指定することはできますか?超過すると、TIMEOUT例外がスローされますか?私はトランザクションのタイムアウトを設定しようとしましたが、うまくいきませんでした。時間が過ぎても、例外はスローされませんでした。 DefaultTransactionDefinition.getTimeout()メソッドも呼び出されませんでした(デバッガにブレークポイントがある)。 DefaultTransactionDefinition.setTimeout(int)が適切な値で呼び出されました。ここでメッセージ駆動型チャネルアダプタの期限処理
は私の設定です:
<int-jms:message-driven-channel-adapter id="x"
channel="incoming"
container="my"
error-channel="errors"/>
コンテナ "私" DefaultMessageListenerContainerを拡張し、私が持っている場所です:
@Override
@Autowired
@Value("5")
public void setTransactionTimeout(final int transactionTimeoutInSec)
{
super.setTransactionTimeout(transactionTimeoutInSec);
}
は、いくつかの他の方法はありますか?ありがとうございました!
おそらく、あなたは外部の 'transaction-manager'を設定していないのでしょうか? –