November 17, 2008

Software Conflict - VMWare Server 2.0 vs Apache Tomcat

This post is solely for software developers...

I just spent around 30minutes trying to figure out why my 'ol reliable Apache Tomcat failed to start up properly. Granted that it's been 6 months since I've used it. LOL!!! I had been "flirting" around with another application server... IBM to be exact.

After updating my version of Tomcat (previously, it was at 5.5.23 but now it's 5.5.27), the server still failed to start up.

Digging through the logs, I found the following:

17-Nov-2008 17:36:57 org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[8005]:
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.
(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:363)
at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)



The main error to take note is the Address already in use: JVM_Bind. This usually signals to me that a port is in use.

Executing a netstat - a command at the command prompt, I found out that port 8005 WAS IN USE!!

Hmmmm...

Then, I suddenly remembered that I've just recently upgraded my VMWare Server application from 1.x to 2.0.x. The new version of VMWare Server utilizes a web-based console which is installed in a "light" Apache Tomcat too. This Apache Tomcat came embedded with VMWare Server installation package.

Now, in order to minimize conflict, I had to modify the settings for the external Apache Tomcat server, which is found at [TOMCAT-INSTALLATION-FOLDER]/conf/server.xml.

Look for the following line,

<Server port="8005" shutdown="SHUTDOWN">
....




Modify this port from "8005" to whatever non-conflicting number you can find. I would suggest 8006. (^___^)

The reason why I would suggest modifying the external Apache Tomcat instead of VMWare's Apache Tomcat is that the VMWare Server application starts up automatically. Since I'm already familiar with good 'ol Apache Tomcat, we might as well modify that file.

Grrrr.. *sigh*... It's just Monday Blues...

5 comments:

  1. Anonymous1:47 pm

    So you are a system engineer? ^_^

    ReplyDelete
  2. Hi jayce,

    Yes, I'm still a System Engineer in my heart. I'm currently a Technical Architect, which basically means I pao kar liao all things related to software/hardware of a system. *pening*...

    ReplyDelete
  3. Anonymous5:59 am

    I discovered I had the same conflict on port 8005. In my case it was Symantec Endpoint Manager and VMWare Server on the same box. They both use Tomcat and chaos ensued. The fix you suggested editing the server.xml file worked great. Thanks for sharing it!

    ReplyDelete
  4. Anonymous12:10 am

    I have Openlaszlo server with Tomcat and VMware 2.0. Thanks for solution.

    ReplyDelete
  5. Hi Anonymous, celeb, Q#,

    Glad to have helped. Thanks for letting me know that Openlaszlo may have a conflict with VMware 2.0 too!

    ReplyDelete

Please feel free to add your comments. However, take note that your comments may be edited or deleted as seen fit by the author of this blog.

Take note that the author of this blog may not be held responsible for the comments which may be insensitive, vulgar or controversial.

Related Posts with Thumbnails