0
votes

We are facing one issue when we deploy our Mule application as war on Tomcat cluster on the same server. It works fine when deployed on only one instance.

We have one https connector defined in mule.config file as below,

<https:connector name="someConnector" ...doc:name="HTTP\HTTPS">
<reconnect frequency="5000" count="3"/>
<https:tls-key-store path="${keystr}" keyPassword="${pwd}" storePassword="${pwd}"/>
</https:connector>

Above connector is used to make a Http outbound connection to a url and in the endpoint we define port as 443, something like below,

<https:outbound-endpoint exchange-pattern="request-response" password="xxx" user="xxx"    host="${abc}" path="${abc}" port="443" method="GET" connector-ref="someConnector" />            

Issue occurs when we deploy on Tomcat cluster, since the port is already used from one Tomcat instance, the application gives error on other instance. Below is the error, Root Exception stack trace:

java.net.BindException: Address already in use
            at java.net.PlainSocketImpl.socketBind(Native Method)
            at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
            at java.net.ServerSocket.bind(ServerSocket.java:376)

Can you please suggest a way to resolve this issue ?

1

1 Answers

0
votes

Typically, that exception is associated with an inbound endpoint. How are your inbound endpoints configured?