Thanks Jason. Will check these code blocks and let you know if I've any issues.
On Sun, Nov 4, 2012 at 6:51 AM, <[email protected]> wrote: > And here is the code if not wanting to reply on spring: > > Bus bus = BusFactory.getDefaultBus(); > JettyHTTPServerEngineFactory engineFactory = > bus.getExtension(JettyHTTPServerEngineFactory.class); > JettyHTTPServerEngine engine = > engineFactory.retrieveJettyHTTPServerEngine(9448); > engine.shutdown(); > > > > On Sun, Nov 4, 2012 at 12:11 PM, <[email protected]> wrote: > > I checked into this a little more and the following code is considerably > safer: > > > > JettyHTTPServerEngineFactory engineFactory = > > context.getBean(JettyHTTPServerEngineFactory.class); > > JettyHTTPServerEngine engine = > > engineFactory.retrieveJettyHTTPServerEngine(9448); > > engine.shutdown(); > > > > It will not shutdown the server if any Endpoints are still deployed. > > Hopefully someone much more familiar with the jetty stuff can > > advise us both if my approach is appropriate. > > > > Cheers > > Jason > > > > On Sun, Nov 4, 2012 at 11:55 AM, <[email protected]> wrote: > >> to explain a little more. When you use JaxWsServerFactoryBean.create > >> or use a jaxws:endpoint in spring (which I would recommend over > >> programmatic creation anyway), it will start the Jetty instance if it > >> has not already been started. However it does not stop the instance > >> for you again automatically that I know of. I guess that might be an > >> enhancement you could request / or contribute. > >> > >> If you do use jaxws:endpoint, you can get access to the Server to stop > >> your endpoint via the code: > >> > >> org.apache.cxf.jaxws.EndpointImpl endpoint = > >> (org.apache.cxf.jaxws.EndpointImpl) > >> context.getBean("MySpringBeanIdForJaxWsEndpoint", > >> javax.xml.ws.Endpoint.class); > >> org.apache.cxf.endpoint.Server server = endpoint.getServer(); > >> server.stop(); > >> > >> And then you can shut down the jetty instance if you also need to with: > >> > >> JettyHTTPServerEngineFactory.destroyForPort(9448); > >> > >> An enhancement to automatically shutdown the jetty endpoint when the > >> last server is stopped would be interesting to look at, but has all > >> sorts of interesting issues with it. For instance in our case at > >> work, we often stop an endpoint only to redeploy a replacement service > >> to the same endpoint so we would not want to automatically shut it > >> down. > >> > >> its safer to leave that to the individual application to decide, which > >> I guess is why the method above has been provided. > >> > >> On Sun, Nov 4, 2012 at 11:49 AM, <[email protected]> wrote: > >>> Stopping the Server will only remove the endpoint from the started > Jetty > >>> Engine. However you can stop jetty itself > >>> > >>> programmtically with something like: > >>> > >>> JettyHTTPServerEngineFactory.destroyForPort(9448); > >>> > >>> > >>> Where 9448 is the port number your jetty engine is running on. > >>> > >>> > >>> I don't know what the official recommendation is for this but that will > >>> certainly do the trick. Although cxf javadoc might not be all up to > >>> scratch this mailing rocks so its a pretty good alternative. > >>> > >>> > >>> Cheers > >>> > >>> Jason > >>> > >>> > >>> Sent from my Galaxy S2 > >>> > >>> On Nov 1, 2012 3:01 AM, "selvakumar netaji" <[email protected]> > wrote: > >>>> > >>>> Hi All, > >>>> > >>>> I'm new to apache cxf. I have tried out the hello world example. The > >>>> service is exposed using the JaxWsServerFactoryBean. After starting > the > >>>> server I tested the services. It was working fine and tired to stop > the > >>>> server using the destroy method. It didn't work out. So I tried to > see the > >>>> javadoc but nothing was mentioned in those javadoc except the method > >>>> summary. The server is stopped only on stopping the vm. Can you > please > >>>> help on this to find out the javadocs. >
