Discussion:
[vtp-dev] Deployment of OpenVXML - java.net.BindException: Address already in use: JVM_Bind
ECKHART Wolfgang
2012-05-10 08:58:46 UTC
Permalink
Hello VTP-Developer Team!

when deploying an OpenVXML Application to Apache Tomcat i always receive
this BindException (see below...).
Anyway the application works on Tomcat after the Deployment.
But is there a way to avoid this Exception?

10.05.2012 10:48:24 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive helloworld.war
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.<init>(ServerSocket.java:194)
at java.net.ServerSocket.<init>(ServerSocket.java:106)
at
org.eclipse.osgi.framework.internal.core.ConsoleManager.startConsole(Console
Manager.java:186)
at
org.eclipse.osgi.framework.internal.core.ConsoleManager.startConsole(Console
Manager.java:132)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:
269)
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:597)
at
org.eclipse.equinox.servletbridge.FrameworkLauncher.start(FrameworkLauncher.
java:288)
at
org.eclipse.equinox.servletbridge.BridgeServlet.init(BridgeServlet.java:65)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:12
01)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:11
14)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1021)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
4957)
at
org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
at
org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)
at java.lang.Thread.run(Thread.java:662)
INFO|2012/05/10|10:48:39> Host Started

Regards,
Wolfgang Eckhart

Sonorys Technology GmbH
Brünner Straße 85
Eingang: Lundenburgergasse 6
1210 Wien

tel: + 43 1 294 00 94 - 290
email: ***@sonorys.at
Randy Childers
2012-05-10 15:39:12 UTC
Permalink
Hi Wolfgang--

I'll bet that you have more than one application which you're deploying, and that you didn't start to see this error until after you deployed the second. On that note, here's an excerpt from my own tomcat startup:

INFO: Deploying web application archive BridgedTransferTest.war
Listening on port 0.0.0.0/0.0.0.0:12345 ...
INFO|2012/05/10|10:29:33> Host Started
May 10, 2012 10:29:33 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive DynamicTransfer.war
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.<init>(ServerSocket.java:194)
at java.net.ServerSocket.<init>(ServerSocket.java:106)
…

Two applications, BridgedTransferTest.war and DynamicTransfer.war, are loaded. The first loads without error, "Listening on port 0.0.0.0/0.0.0.0:12345 ...", while the second throws the error at the same point. These applications by default open up port 12345 as a window to the OSGi framework. Once the app is up and running, you can telnet to that port and see what's happening in your app at the OSGi level. The error happens when subsequent applications attempt (and fail) to bind to the same port. You can change which port is opened for a given application in that application's WEB-INF/web.xml file, in this section:
<init-param>
<param-name>commandline</param-name>
<param-value>-console 12345 -consoleLog</param-value>
</init-param>

For the DynamicTransfer.war application, this was at
tomcat/webapps/DynamicTransfer/WEB-INF/web.xml

As you've noted, though, the error doesn't actually cause any problems if you're not going to be using the console — it's just a little disquieting if you don't know what's going on.

Good luck,
Randy


From: ECKHART Wolfgang <***@sonorys.at<mailto:***@sonorys.at>>
Reply-To: Voice Tools general developers <vtp-***@eclipse.org<mailto:vtp-***@eclipse.org>>
To: "'vtp-***@eclipse.org<mailto:'vtp-***@eclipse.org>'" <vtp-***@eclipse.org<mailto:vtp-***@eclipse.org>>
Subject: [vtp-dev] Deployment of OpenVXML - java.net.BindException: Address already in use: JVM_Bind


Hello VTP-Developer Team!

when deploying an OpenVXML Application to Apache Tomcat i always receive this BindException (see below...).
Anyway the application works on Tomcat after the Deployment.
But is there a way to avoid this Exception?

10.05.2012 10:48:24 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive helloworld.war
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.<init>(ServerSocket.java:194)
at java.net.ServerSocket.<init>(ServerSocket.java:106)
at org.eclipse.osgi.framework.internal.core.ConsoleManager.startConsole(ConsoleManager.java:186)
at org.eclipse.osgi.framework.internal.core.ConsoleManager.startConsole(ConsoleManager.java:132)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:269)
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:597)
at org.eclipse.equinox.servletbridge.FrameworkLauncher.start(FrameworkLauncher.java:288)
at org.eclipse.equinox.servletbridge.BridgeServlet.init(BridgeServlet.java:65)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1201)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1114)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1021)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
INFO|2012/05/10|10:48:39> Host Started

Regards,
Wolfgang Eckhart

Sonorys Technology GmbH
Brünner Straße 85
Eingang: Lundenburgergasse 6
1210 Wien

tel: + 43 1 294 00 94 - 290
email: ***@sonorys.at

Loading...