user3079285
user3079285

Reputation: 3

relate a flow ref to java component mule

I have a main flow which begins with a http endpoint then a soap component which implements the interface and after a java component 1 that implements this interface. Now, I want to add a flow ref and after it a java component 2 that implements the same interface. I get the problem of "could not find entry point" I am now following this tutorial blogs.mulesoft.org/mule-school-invoking-component-methods-using-entry-point-resolvers/

Given below is my flow.

<flow name="CreateAccountFlow1" doc:name="CreateAccountFlow1"> 
    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" 
            doc:name="HTTP" path="bank"/> 
    <cxf:jaxws-service doc:name="SOAP" serviceClass="com.essai2.AccountService"/> 
    <component class="com.essai2.AccountRequest" doc:name="Java"/> 
    <logger level="INFO" doc:name="Logger"/> 
    <flow-ref name="Projet2Flow1" doc:name="Flow Reference"/> 
    <component class="com.essai2.AccountResponse" doc:name="Java"/> 
    <logger level="INFO" doc:name="Logger"/> 
</flow>

Can anyone help me?

Upvotes: 0

Views: 351

Answers (1)

user3419657
user3419657

Reputation: 1

In mule there are many ways to invoke a Java component.

1. Entry point resolver 
2. Implemnt mule Life Cycle API i.e callable
3. Invoke component.

when ever Mule finds Java component as message processors in a flow, tries to execute above three methods .

In the java component if you have created any methods with param same as mule message payload , Entry Point resolver is used.

eg :  class XYZ{
      method1(String s1){

      }
      method2(List<String> S2){
      }
}

If Mule Message Payload has type String then method1 is invoked, if message payload has List of String , method2 is invoked during run time.

2. If you can invoke the Java component in the flow irrespective of type of the payload, should implement Callable interface which overrides onCall() method.

for eg : class XYS implements Callable{
  @override 
  onCall(MuleEventConext muleEventConext){

} 

using MuleEvent Conext you can extract the payload and process it.

3. Using Invoke component, you can create the object of the Class and invoke explicitly the method with appropriate Parameters passed.

Upvotes: 0

Related Questions