You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Bart Couvreur <ba...@couf.be> on 2008/05/12 19:41:20 UTC

Jetty server not unbinding ports on redeploy

Hi all, 

I'm creating a system that exposes web services based on Spring
configuration files that load up client-proxies to different services
(mainly HTTP invokers). I'm using the simple frontend, so people don't
have to annotate their service layers and Aegis databinding.

This requires a lot of redeploying (currently using JBoss AS 4.2.1 GA),
but Jetty always fails to load on a redeploy due to the destination port
being assigned.

I've tried adding a destroy-method, to make sure services are stopped,
but no avail.

Ideas, suggestions welcome!

Thanks,
Bart


Partial stacktrace:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'chaosConfig' defined in class path resource [be/kahosl/chaos/adaptor/context/chaosContext.xml]: Invocation of init method failed; nested exception is org.apache.cxf.interceptor.Fault: Could not start Jetty server: Address already in use
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1260)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
        ... 108 more
Caused by: org.apache.cxf.interceptor.Fault: Could not start Jetty server: Address already in use
        at org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine.addServant(JettyHTTPServerEngine.java:312)
        at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.activate(JettyHTTPDestination.java:150)
        at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:47)
        at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:166)
        at org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:674)
        at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122)
        at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:129)
        at be.kahosl.chaos.adaptor.remoting.BasicAuthCommonsHttpInvokerProxy.exportServices(BasicAuthCommonsHttpInvokerProxy.java:102)
        at be.kahosl.chaos.adaptor.remoting.AbstractServiceProxy.afterPropertiesSet(AbstractServiceProxy.java:92)
        at be.kahosl.chaos.adaptor.remoting.BasicAuthCommonsHttpInvokerProxy.afterPropertiesSet(BasicAuthCommonsHttpInvokerProxy.java:51)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
        ... 117 more
Caused by: java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
        at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:205)
        at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:304)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
        at org.mortbay.jetty.Server.doStart(Server.java:233)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
        at org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine.addServant(JettyHTTPServerEngine.java:290)
        ... 128 more

Re: Jetty server not unbinding ports on redeploy

Posted by Bart Couvreur <ba...@couf.be>.
Op dinsdag 13-05-2008 om 08:05 uur [tijdzone +0800], schreef Willem
Jiang:
> Hi Bart,
> 
> You may find the example by taking a look at CXF Jetty systest[1]
> 
> [1]https://svn.apache.org/repos/asf/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java
> 
> Cheers,
> 
> Willem

Thanks Willem,

closing the bus and destroying the used application contexts did the
trick!

Cheers,
Bart

[snip]

Re: Jetty server not unbinding ports on redeploy

Posted by Willem Jiang <wi...@gmail.com>.
Hi Bart,

You may find the example by taking a look at CXF Jetty systest[1]

[1]https://svn.apache.org/repos/asf/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java

Cheers,

Willem
Bart Couvreur wrote:
> Hi all, 
>
> I'm creating a system that exposes web services based on Spring
> configuration files that load up client-proxies to different services
> (mainly HTTP invokers). I'm using the simple frontend, so people don't
> have to annotate their service layers and Aegis databinding.
>
> This requires a lot of redeploying (currently using JBoss AS 4.2.1 GA),
> but Jetty always fails to load on a redeploy due to the destination port
> being assigned.
>
> I've tried adding a destroy-method, to make sure services are stopped,
> but no avail.
>
> Ideas, suggestions welcome!
>
> Thanks,
> Bart
>
>
> Partial stacktrace:
>
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'chaosConfig' defined in class path resource [be/kahosl/chaos/adaptor/context/chaosContext.xml]: Invocation of init method failed; nested exception is org.apache.cxf.interceptor.Fault: Could not start Jetty server: Address already in use
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1260)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
>         ... 108 more
> Caused by: org.apache.cxf.interceptor.Fault: Could not start Jetty server: Address already in use
>         at org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine.addServant(JettyHTTPServerEngine.java:312)
>         at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.activate(JettyHTTPDestination.java:150)
>         at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:47)
>         at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:166)
>         at org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:674)
>         at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122)
>         at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:129)
>         at be.kahosl.chaos.adaptor.remoting.BasicAuthCommonsHttpInvokerProxy.exportServices(BasicAuthCommonsHttpInvokerProxy.java:102)
>         at be.kahosl.chaos.adaptor.remoting.AbstractServiceProxy.afterPropertiesSet(AbstractServiceProxy.java:92)
>         at be.kahosl.chaos.adaptor.remoting.BasicAuthCommonsHttpInvokerProxy.afterPropertiesSet(BasicAuthCommonsHttpInvokerProxy.java:51)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
>         ... 117 more
> Caused by: java.net.BindException: Address already in use
>         at sun.nio.ch.Net.bind(Native Method)
>         at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
>         at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
>         at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:205)
>         at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:304)
>         at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>         at org.mortbay.jetty.Server.doStart(Server.java:233)
>         at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>         at org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine.addServant(JettyHTTPServerEngine.java:290)
>         ... 128 more
>
>