これは私の以前の質問How to set payload as constructor-arg value in service-activatorのフォローアップです。サービスアクティベータのクラスを動的に名前を付けて初期化する方法
私たちはAProcessor、Bprocessorなどの12種類のクラスを持っています。それぞれのコンストラクタは共通のペイロードを受け入れ、同じ宣言されたメソッドを 'publish'で実行します。
ここでは、SIで1つの共通チャネルとサービスアクティベータを扱うことを考えていましたが、どのようにしてpayload.typeから動的に式にクラス名を入れることができますか?
私は以下のような何かをしようとしていたが、そのは
<サービスベーター入力チャンネル= "COMMON_PUBLISH_CHANNEL" 表現= "動作しない '新しいmypackageとを。' + payload.type + 'のRequestProcessor'(payload.myservice ).publish(payload.data) "> < /サービスベーター>
私は、私は1つの場所で行うことができれば12のチャンネルとサービスの活性化因子を書いてから保存したいです。
、あなたはそれのために、関連するリソースに私をポイントしてくださいすることができますそれのための右の豆など?ありがとう – sonu131
そのようなものはありません。それはただの仮説的なコードでした。それがあればあなた自身のものを書くべきです。そして、はい、そこにJavaをバイパスすることはできません:-) –
はい、Java Beanクラスで動作し、動作しています。 – sonu131