从java类中的mule读取消息

时间:2014-02-26 06:10:21

标签: java mule mule-studio

如何在java类中阅读<object-to-string-transformer doc:name="Object to String"/>

我的配置是:

<flow name="file-processFlow3" doc:name="file-processFlow3">
        <jms:inbound-endpoint doc:name="JMS" queue="OrchestratorQueue" connector-ref="Active_MQ1" responseTimeout="0" >
            <jms:transaction action="ALWAYS_BEGIN" timeout="10000"/>
        </jms:inbound-endpoint>
        <object-to-string-transformer doc:name="Object to String"/>
        <component doc:name="Java"/>
        <logger message="#[message.payload]" level="INFO" doc:name="Logger"/>
    </flow>

enter image description here

我不知道如何在我的java类(<component doc:name="Java"/>)中读取输入消息。假设任何类,我还没有实现我不知道如何实现。 请任何帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

如果您的班级中只有一个方法,则会自动调用它。

流量:

<set-payload value="world" doc:name="Set Payload"/>
<component doc:name="Java" class="my.test.Klass"/>

Java类:

package my.test;

public class Klass {

    public String methhod (String s) {
        return "hello "+s;
    }
}

如果您需要更复杂的东西,您可以定义入口点,工厂等。

http://www.mulesoft.org/documentation/display/current/Configuring+Java+Components

更新:

对于具有多种方法的类,您需要定义入口点解析器。最简单的方法是使用方法名称:

<component doc:name="Java" class="my.test.Klass">
    <method-entry-point-resolver>
        <include-entry-point method="methhod" />
    </method-entry-point-resolver>
</component>