0

JMXエクスポート名前空間ハンドラーを追加するまで、テストクラスでとを使用して2つのQueueChannelインスタンスを問題なく自動配線できます。@Autowired@Qualifier

私は正確な設定を手元に持っていません(それは仕事で問題があり、今では何時間も私を悩ませています!)、しかし私はこれらの要素を使用しています:

<int-jmx:mbean-export default-domain="com.business" server="mbeanServer" />
<context:mbean-export />
<context:mbean-server />

これらの3つを定義すると、自動配線プロセスは。をスローして失敗しますNoSuchBeanException。ただし、コンテキスト内のすべてのBeanを反復処理するポストプロセッサがあるため、キューのIDを持つBeanがあることがわかります。

これは、sの宣言されたタイプを難読化して、タイプごとの自動配線が機能しないようにするプロキシと関係がありますQueueChannelか?

4

1 に答える 1

3

JMXエクスポートはチャネルをプロキシにラップするため、具象クラスの代わりにインターフェースを使用して自動配線する必要があります。、またはに使用PollableChannelします。QueueChannelSubscribableChannelDirectChannel

まさにこの理由から、具象クラスではなくインターフェースを使用してコーディングすることは常に良い習慣です。

于 2012-11-12T23:51:07.740 に答える