Search code examples
tomcatwebsphereibm-mobilefirstworklight-server

IBM Worklight Server 6.2 - Running on Apache Tomcat? "Timeout while waiting for the management service to start up"


I've been trying to setup an IBM Worklight environment. I want to use:

  • Windows Server
  • Apache Tomcat 7 (latest at the time of writing)
  • IBM Worklight 6.2 (latest at the time of writing)
  • MySQL Server 5.6 (latest at the time of writing)

Everything seems to be working OK. I've setup Tomcat (default configuration), MySQL (default configuration). Then I continued setting up IBM Worklight. I pointed to the Tomcat installation directory, put in the MySQL Connector/J jar file, etc etc. I left virtually everything default.

Upon completion, I deployed an app. The app was made with Eclipse, using the IBM Worklight Studio 6.2 plugin. Upon hitting the app URL (http://localhost:8080/appname/console), I get the following error: HTTP Status 500 - java.lang.RuntimeException: Timeout while waiting for the management service to start up

type Exception report

message java.lang.RuntimeException: Timeout while waiting for the management service to start up

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.RuntimeException: Timeout while waiting for the management service to start up
    com.worklight.core.auth.impl.AuthenticationFilter.isWaitingForInitialization(AuthenticationFilter.java:561)
    com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:130)
root cause

java.lang.RuntimeException: Timeout while waiting for the management service to start up
    com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:133)
    java.lang.Thread.run(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.54 logs.

Apache Tomcat/7.0.54

However, when I do the same install using an IBM WebSphere Liberty server, everything works fine. We do want to use Apache Tomcat instead of WebSphere Liberty.

What am I doing wrong? What's this "management service" and how can I start it or activate it? Or at least check it? Does it have something to do with JMX?


Solution

  • I think JMX is not properly configured in your case. See https://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.installconfig.doc/install_config/t_optional_config_app_server_tomcat.html

    When the server starts, the Worklight runtime tries to communicate with the Worklight Admin Service through JMX. Since the start order of the web application is arbitrary, it can happen than the Worklight Admin Services start after the Worklight runtime. In this case, the Worklight runtime waits until the Worklight Admin Services are running. The timeout mentioned in the exception means that the runtime did not found the running Worklight Admin Services in a given amount of time. This can mean:

    1. The JMX communication failed, hence the Worklight runtime does not detect the Worklight Admin Services.
    2. The Worklight Admin Services crashed during startup, for instance when the Worklight Admin Database was wrongly configured.
    3. The JNDI property ibm.worklight.admin.environmentid may be specified differently for Worklight Runtime than for Worklight Admin Services. In this case, the Runtime cannot find its Admin Services.

    See also How to solve management service not starting up in Worklight 6.2