0

Jboss SOA プラットフォームにアプリケーションをデプロイしました。パフォーマンスの観点から、jboss-esb.xml で DeadLetterService をコメントアウトしました。そのため、例外が発生したり、メッセージがサード パーティに配信されない場合は、DLQ に送信されません。しかし、現在、次のエラーが発生しています

********************************
2012-12-18 18:02:30,996 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/ServiceName].[HttpGateway]] (http-0.0.0.0-9032-14) Servlet.service() for servlet HttpGateway threw exception
org.jboss.soa.esb.listeners.message.MissingServiceException: Registry details for service [JBossESB-Internal:DeadLetterService] could not be determined from the registry.
        at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:348)
********************************

サードパーティに応答を送信するのに約 5 分かかります。遅延の理由を調べています。

この問題が「DeadLetterService」とどのように関連しているかを誰でも知っていますか? または、どうすれば問題を再現できますか? またはなぜ5分の遅れ?

4

1 に答える 1

0

パフォーマンス上の理由で DeadLetterService をオフにすることの意味がわかりませんが、このサービスへの呼び出しは ServiceInvoker でハードコードされているため、サービスを完全に削除することはお勧めできません。

グローバルに、またはメッセージごとに、プロパティによってその使用をオフにすることができます。

DeadLetterService はデフォルトでオンになっていますが、jbossesb-properties.xml で org.jboss.soa.esb.dls.redeliver を false に設定して使用をオフにすることができます。これをメッセージごとに制御したい場合は、特定の Message プロパティで org.jboss.soa.esb.dls.redeliver プロパティを適宜設定します。Message プロパティは、グローバル設定より優先して使用されます。デフォルトでは、構成ファイルに設定された値が使用されます。

https://access.redhat.com/knowledge/docs/en-US/JBoss_Enterprise_SOA_Platform/5/html/ESB_Programmers_Guide/chap-SOA_ESB_Programmers_Guide-Advanced_Topics.html#idp105205​​76

于 2013-01-12T06:46:37.577 に答える