1

この質問はMuleESB3.2に関連しています。

JMSから値を読み取った場合は、JSONに変換し、次のように値をセッションに保存します。

<message-properties-transformer scope="session" doc:name="save values to session">            
        <add-message-property key="id" value="#[json-node://id]"/>
        <add-message-property key="name" value="#[json-node://name]"/>
</message-properties-transformer>   

<component class="org.mule.example.echo.Echo"/>

Javaコンポーネントからこれらのプロパティ値にアクセスするにはどうすればよいですか?

4

2 に答える 2

1

まず、クラスはorg.mule.api.lifecycle.Callableインターフェースを実装する必要があります。onCall次に、このようにメソッド内のプロパティ値を取得できます

@Override
public Object onCall(MuleEventContext eventContext) throws Exception {
   String id = eventContext.getMessage().getProperty("id", PropertyScope.SESSION);
   String name = eventContext.getMessage().getProperty("name", PropertyScope.SESSION);
   //Do the rest of your stuff
}
于 2012-07-26T19:30:47.757 に答える
1

プロパティがOutboundScopeで追加された場合、単純な

public void process(@Payload String payload, @OutboundHeaders Map headers ){
   String id =   headers.get("name") 
}

フロープロパティを返します

于 2013-07-18T15:49:40.047 に答える