从Java类调用Mule流的步骤
我是Mule的新手,需要从Java类调用流。有人能给我台阶吗 您可以通过以下步骤来完成 1) 为了进行调用,首先您的流应该将VM作为入站端点 2) 在java代码中,从MuleEventContext获取Mulecontext 3) 从MuleContext获取客户端(),然后使用send方法。下面是示例代码从Java类调用Mule流的步骤,mule,flow,Mule,Flow,我是Mule的新手,需要从Java类调用流。有人能给我台阶吗 您可以通过以下步骤来完成 1) 为了进行调用,首先您的流应该将VM作为入站端点 2) 在java代码中,从MuleEventContext获取Mulecontext 3) 从MuleContext获取客户端(),然后使用send方法。下面是示例代码 MuleContext mContext = eventContext.getMuleContext(); mContext.getClient().send(VM URL, pa
MuleContext mContext = eventContext.getMuleContext();
mContext.getClient().send(VM URL, payload);
send()中的VM URL是VM队列路径的名称(有时可能需要在其前面加上'VM://…'-例如:'VM://myVMQueuePath'
任何问题都让我知道。我已经尝试过这一点,它确实有效。我已经在任何point studio中创建了java类,并从主流调用java。java正在使用VMQ调用第二个流。这是我的java类。希望这能有所帮助
package mulewithjava;
import org.mule.api.MuleContext;
import org.mule.api.MuleEventContext;
import org.mule.api.MuleMessage;
import org.mule.api.lifecycle.Callable;
public class CallMuleFlow implements Callable {
@Override
public Object onCall(MuleEventContext eventContext) throws Exception {
// TODO Auto-generated method stub
String payload = (String) eventContext.getMessage().getPayload();
MuleContext mContext = eventContext.getMuleContext();
MuleMessage msg= eventContext.getMessage();
mContext.getClient().send("vm://VMQ", msg);
return "After Flow Calling";
}
}
这是用于MUnit测试的吗?为什么需要这样的要求。请确保在集成逻辑中尽量减少java的使用。尝试使用更多的data mapper和data Weavei。您希望在与java类或remote相同的JVM中调用Mule吗?如何获取MuleEventContext的实例,我可以自动连接它吗?questi中的类on不是任何mule类的子类,因此我没有对MuleEventContext的引用。