私はSIを使い始めました。service-activatorでconstructor-argの値としてペイロードを設定する方法
サービスアクティベータとして使用するBeanは、Javaオブジェクトのコンストラクタ引数を受け取ります。オブジェクト
は、ペイロードであるが、その後、私はそれが不満のサービスベーターの内側の豆の使用量に
<service-activator input-channel="ADMIN_TEST_CONNECTION" method="testConnection">
<beans:bean class="mypackage.request.AdminRequestProcessor">
<beans:constructor-arg value="payload"/>
</beans:bean>
</service-activator>
を使用して設定することができないんだタイプの引数の値を変換できませんでした[java.lang.Stringで]を必要なタイプに変更します。
ペイロードにアクセスしてコンストラクタの引数として設定する方法をお手伝いしてください。
私は非コンストラクタ引数経路を介して移動して、既存のJavaオブジェクトを変更した場合、それは「bean.testConnection(ペイロード)@」=サービスアクティベータ
式の中で、この呼び出しで動作します/>
が、他の方法がない限り、既存のjavaコードを変更することは望ましくありません。
こんにちはArtem、サービスアクティベータクラス名を私の場合と同じように動的に使用することは可能ですか?expression = "'new' + payload.type + 'Processor'(ペイロード)と言うことができます。 testConnection() "/> – sonu131
Mmm。申し訳ありませんが、あなたの質問は明確ではありません。それは、「クラスを動的に使用する」とはどういう意味ですか?それは、 "実行時にキャストする方法"のような質問を思い出してくれました。おそらく私の側からローカルに再生するための適切な情報と設定/テストケースを持つ新しいSOスレッドですか? –
http://stackoverflow.com/questions/39171203/how-to-name-and-initialize-a-class-of-a-service-activator-dynamically – sonu131