スタンドアロン環境でSpring3.1を使用しています。
プログラムによるプロトタイプBeanを作成しているシナリオがあります。
各Beanには独自の状態があります(ステートフルであり、一意のIDなどがあります)。
Beanが作成された後、それをトピックに接続します(DLMCを介して実用的に)。
トピックに送信される各メッセージには、特定のID(トピックのコンシューマーの1つ)が含まれます
レイテンシーとスループットは私にとって非常に重要です。
したがって、特定のBeanに大量のメッセージを送信している場合、そのBeanは非常にビジーであり、現在のジョブが完了するまで無料にならないため、各メッセージの間に途方もない遅延が発生します。
そのため、このような状況を回避するために、最初に作成するたびに同じBeanのプールを作成する必要があると思いました。
どうすればそれを達成できますか?多分それのための高レベルの解決策がありますか?
私はこれらの春のmdbを実用的に次のように作成しています:
Javaコード:
MyMdb myMdb= (MyMdb) beanFactory.getBean("MyMdb", id);
およびxml:
<bean id="fixSessionMDB" class="com.finbird.fixgw.core.mdb.FixSessionMDB"
scope="prototype" lazy-init="true">
<constructor-arg ref="0" />
<constructor-arg ref="0" />
</bean>