Troubleshooting the Installation
This page covers various troubleshooting topics, such as help for troubleshooting a problematic installation.
When running Mule ESB server and the console in a Tomcat environment you may have a problem registering the Mule server instance with the console agent. This problem occurs when you try to register the server through the console screen. After entering the server name and the URL for the Mule agent, the console displays a message indicating that the console could not register the Mule server you specified, and that the server host system did not send a valid HTTP response. This problem usually occurs if you had previously unregistered the same server instance, but for some reason the unregistration process did not complete properly. There may be other reasons why Mule server instance may internally be still registered.
When this occurs, you need to do the following to fix the problem:
truststore.jksfile from the
.mule/mmc-agent-mule3-app-3.x.xdirectory is located beneath the directory from which you previously started the Mule ESB server and registered that Mule instance. For example, if you started Mule ESB from the Mule installation
.mule/mmc-agent-mule3-app-3.x.xdirectory is located in
/bin. It is not necessary to stop the Mule instance to delete the
Tcat users should also note that the above instructions apply only for Tomcat. The location of the
truststore.jks file is different for Tcat. If you are using Tcat, you should note that with the Early Access release, Tcat Server Console and Mule Management Console cannot be co-located on the same Tomcat instance.
Getting this exception when trying to register Mule Server using MMC
1 Could not register server <serverName>: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Solution: Try deleting
truthstore.jks from the
.mule/,agent folder, or delete the
.mule/.agent folder completely. After deleting
truststore.jks you will need to restart the Mule server.
You can change the agent configuration from that of the default URL, which is displayed when registering a new server instance. The agent configuration determines the bind port for the server instance. There are reasons for changing the agent URL, such as if you want to start multiple instances of Mule ESB within the same box and connect the console to these different instances or if you want to connect to remote server instances.
The console assumes a default bind port of 7777. When you start Mule from a command line, you can change the port to which the server binds. You specify the new port as a switch or option in the command setting, as followsL
-M-Dmule.mmc.bind.port=PORT_NUMBER. Note that you specify the port number option after specifying the configuration file option in the command
In addition, when you change the agent bind port to accommodate multiple Mule instances, you also must start Mule from the
bin directory in which the particular Mule instance was installed. For example, you might run a second instance of Mule as follows, where this second instance is installed at
1 /opt/second_mule/bin/mule -config hello-config.xml -M-Dmule.mmc.bind.port=7773
You can also add this property in
wrapper.conf kept under
$MULE_HOME/conf/wrapper.java.additional.<n>=-Dmule.mmc.bind.port=7781 replacing the
<n> with the appropriate sequence number.
You can start more than one Mule agent instance, but you have to bind each agent to its own port and start a separate listener for each agent.
For example, if you start two Mule agent instances, on instance uses the default bind port 7777, as described in the above section. For the second agent instance, you set up the port to which the agent binds as port 7778. You also must specify a listener class for this second agent listener. Add the following code to the
1 2 3 4 5 6 7 8 9 <context-param> <param-name>mule.mmc.bind.port</param-name> <param-value>7778</param-value> <description>MMC agent bind port</description> </context-param> <listener> <listener-class>com.mulesoft.mmc.agent.web.MmcAwareContextListener</listener-class> </listener>
| If you are using MMC listener-class, remove
Note that the same two properties, the bind port and listener class, are supported for standalone Mule ESB servers and those servers configured via
For the management console to work with a Tcat server, you need to modify the value of the variable
PermGenSize from 128 to 256. You should increase the size of
PermGenSize to 256 before you deploy the management console WAR file to Tcat. After modifying
PermGenSize, start Tcat and then deploy the management console WAR file. Both Tcat and the management console should now work together with no problems.
If after changing PermGenSize and starting Tcat, you get an
OutOfMemoryError message when deploying the console WAR file, then you need to take the following steps. These steps walk you through registering the Tcat local agent, deploying the management console WAR file, logging into the console and registering the console agent.
Install Tcat version 6.2.1 or greater.
Edit the batch file for starting Tcat,
catalina.bat. You want to move the line referencing
JAVA_OPTS at the top of the file to line 126 in the file. Then, change the setting for
PermGenSize within that line from 126m to 256m. When you’re done, line 126 should look as follows:
1 2 set JAVA_OPTS=%JAVA_OPTS% -Dgalaxy.data="%CATALINA_BASE%\galaxy-data" -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Djava.net.preferIPv4Stack=true
Log into Tcat and register the local Tcat agent. Use this URL for the agent (eg. http://localhost:7777/agent).
Create a new package that contains the mmc war file and the Local Tcat Agent.
Click the Save and Deploy buttons.
Click the Local Tcat Agent Servers link.
Click the Applications tab.
Click the Go To link.
Log into the Mule management console and start a local Mule ESB instance on which the console agent has been deployed.
Click the New Server button in the console and register the console agent using its URL (eg. http://localhost:7777/mmc-support).