Вопрос

Как читать <object-to-string-transformer doc:name="Object to String"/> в классе java.

моя конфигурация такова:

<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"/>).предположим, что какой-либо класс, который я еще не реализовал, я не знаю, как реализовать.Пожалуйста, кто-нибудь, помогите.

Спасибо.

Это было полезно?

Решение

Если у вас есть только один метод в вашем классе, он будет вызван автоматически.

поток:

<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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top