1

Mule studio で開発を行っています。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. 2 つのミュール アプリケーションに依存する個別の統合テスト プロジェクトを作成し、機能テストケース内ですべてのフローを一緒に実行します。
  2. ロードするすべての構成ファイルを渡すorg.mule.MuleServerメイン クラスを使用します。
于 2013-02-14T11:16:35.653 に答える