2014-02-26 5 views
0

<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

내가 내 자바 클래스 (<component doc:name="Java"/>)에 입력 메시지를 읽을 수있는 방법을 모르겠어요. 모든 클래스를 가정 해, 아직 구현되지 않았습니다. 구현 방법을 모르겠습니다. 도와주세요.

감사합니다.

답변

2

클래스에 하나의 메소드 만있는 경우 자동으로 호출됩니다.

흐름 :

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

자바 클래스 :

package my.test; 

public class Klass { 

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

당신이 등이 진입 점, 공장을 정의 할 수 있습니다 더 복잡한 무언가를해야하는 경우

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

UPDATE :

여러 메소드가있는 클래스의 경우 엔트리 포인트 해석자를 정의해야합니다. 가장 간단한 방법은 메서드 이름을 사용하는 것입니다 :

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

답해 주셔서 감사합니다. 그러나 여러 가지 방법이 있습니다. –

+0

여러 가지 경우에 대한 대답이 업데이트되었습니다. –