1

我在 Mule 工作室做一些开发。我在 2 个不同的项目中有 2 个 REST 服务,并希望在我的环境中运行它们。当我独立运行它们时,它们运行正常。

8081 端口上的服务 A 正在调用 8083 端口上的服务 B(帐户)。

我在端口 8081 上为服务 A 运行作为 Mule 应用程序,然后在端口 8083 上为服务 B 执行相同的操作。

当流程转到服务 BI 的标注时,会出现以下错误。

谢谢您的帮助。

`ERROR 2013-02-13 16:03:05,213 [[OpportunityAccountByOpportunityId].connector.http.mule.default.receiver.02] org.mule.exception.DefaultMessagingExceptionStrategy: 
********************************************************************************
Message               : Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=http://`localhost`:8083/Account/1_0/AccountReadById?id=0013000000HQY30AAH, connector=HttpConnector
{
  name=connector.http.mule.default
  lifecycle=start
  this=6c22e349
  numberOfConcurrentTransactedReceivers=4
  createMultipleTransactedReceivers=true
  connected=true
  supportedProtocols=[http]
  serviceOverrides=<none>
}
,  name='endpoint.http.`localhost`.8083.Account.1.0.AccountReadById.id.0013000000HQY30AAH', mep=REQUEST_RESPONSE, properties={id=0013000000HQY30AAH, http.method=GET}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: GetMethod
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. Connection refused: connect (java.net.ConnectException)
  java.net.PlainSocketImpl:-2 (null)
2. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=http://`localhost`:8083/Account/1_0/AccountReadById?id=0013000000HQY30AAH, connector=HttpConnector
{
  name=connector.http.mule.default
  lifecycle=start
  this=6c22e349
  numberOfConcurrentTransactedReceivers=4
  createMultipleTransactedReceivers=true
  connected=true
  supportedProtocols=[http]
  serviceOverrides=<none>
}
,  name='endpoint.http.`localhost`.8083.Account.1.0.AccountReadById.id.0013000000HQY30AAH', mep=REQUEST_RESPONSE, properties={id=0013000000HQY30AAH, http.method=GET}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: GetMethod (org.mule.api.transport.DispatchException)
  org.mule.transport.http.HttpClientMessageDispatcher:155 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/DispatchException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.net.ConnectException: Connection refused: connect
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************`
4

1 回答 1

1

从这个jira可以看出,目前不可能同时运行多个应用程序。

要克服这个问题,您有 2 个选择:

  1. 创建一个单独的集成测试项目,该项目依赖于两个 mule 应用程序,并在功能测试用例中一起运行所有流程
  2. 使用org.mule.MuleServer主类将您要加载的所有配置文件传递给它
于 2013-02-14T11:16:35.653 回答