1

ミュール RMItransports について質問があります

これは Example_RMITest.xml です

<spring:bean id="jndiFactory" name="jndiFactory" class="org.mule.transport.rmi.MuleRMIFactory"/>
<spring:bean id="jndiContext" name="jndiContext" factory-bean="jndiFactory" factory-method="create">
    <spring:constructor-arg><spring:null /></spring:constructor-arg>
</spring:bean>
<rmi:connector name="rmi" jndiContext-ref="jndiContext" />   
<endpoint name="Sender2" address="rmi://192.168.0.4:1111/mytask?method=say"
    exchange-pattern="request-response"/>       
<flow name="TestUMO">
   <inbound-endpoint address="vm://query" exchange-pattern="request-response"/>
    <outbound-endpoint ref="Sender"/>
</flow>

これは私の Silent プログラムです。

import java.util.HashMap;
import java.util.Map;

import org.mule.api.MuleContext;
import org.mule.api.MuleException;
import org.mule.api.MuleMessage;
import org.mule.context.DefaultMuleContextFactory;
import org.mule.module.client.MuleClient;

public class MyMuleClientTest {
      public static void main(String[] args) throws MuleException  
          {  
              // create mule  
             MuleContext muleContext;  
              String config = "Example_RMITest.xml";  
              muleContext = new DefaultMuleContextFactory().createMuleContext(config);  
              muleContext.start();  
              // creat mule client  
              MuleClient client = new MuleClient(true);  
             //Map map = new HashMap();  
             // map.put("firstName", "p001");  
              MuleMessage response = client.send("vm://query", null, null);         
              System.out.println("response = " + response.getPayload());  
          }  

}

例外は次のとおりです。

There is no receiver registered on connector "connector.VM.mule.default" for endpointUri vm://query
4

1 に答える 1

3

あなたが抱えているこの問題は RMI とは何の関係もありません: Mule はvm://queryエンドポイントを見つけることができません。

MuleClient client = new MuleClient(true);

2 番目の Mule を開始しようとしており、構成がないため、VM エンドポイントが見つかりません。

代わりに次を使用します。

MuleClient client = muleContext.getClient();

クライアントを実行中の Mule に接続します。

于 2013-08-26T14:14:50.420 に答える