What do you mean the server's configuration is there? Do you mean the jetty server is still there ?
Willem. bmargulies wrote: > > I tried that. I still found my configuration changes to the server > 'already present' when I create the next application context. > >> -----Original Message----- >> From: Willem2 [mailto:[EMAIL PROTECTED] >> Sent: Monday, October 01, 2007 9:11 AM >> To: cxf-user@incubator.apache.org >> Subject: Re: Spring, bus, confusion >> >> >> Hi Benson, >> >> You can call bus.shutdown(true) in @After to tear down the server and > the >> jetty engine. >> >> >> Willem. >> >> >> bmargulies wrote: >> > >> > Please forgive me for pasting a lot of code into here. >> > >> > I'm trying to set up a unit test framework where the fixture sets up >> > jetty with an endpoint and some static content. So, as you will see, > I >> > have an @Before that sets everything up, and an @After that tries to >> > tear everything down. >> > >> > However, when the @Before runs the second time, things sure look as > if >> > they have all hung around from the first time around. >> > >> > I bet that there's something simple about the bus that I'm missing, >> > namely, that the cxf bus exists independently of my app context, and > I >> > have to \do something/ to tear \it/ down. >> > >> > >> > >> > >> > >> > package com.basistech.ws; >> > >> > import java.io.File; >> > import java.net.URL; >> > >> > import org.apache.cxf.Bus; >> > import org.apache.cxf.endpoint.ServerImpl; >> > import org.apache.cxf.endpoint.ServerRegistry; >> > import org.apache.cxf.transport.http_jetty.JettyHTTPDestination; >> > import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine; >> > import org.junit.After; >> > import org.junit.Before; >> > import org.mortbay.jetty.Handler; >> > import org.mortbay.jetty.Server; >> > import org.mortbay.jetty.handler.ContextHandlerCollection; >> > import org.mortbay.jetty.handler.HandlerList; >> > import org.mortbay.jetty.handler.ResourceHandler; >> > import org.mortbay.resource.FileResource; >> > import > org.springframework.beans.factory.xml.XmlBeanDefinitionReader; >> > import > org.springframework.context.support.GenericApplicationContext; >> > import org.springframework.core.io.ClassPathResource; >> > import org.springframework.core.io.Resource; >> > >> > /** >> > * Class used to launch a CXF/jetty web service using the embedded > jetty >> > in CXF. >> > * >> > */ >> > public abstract class AbstractTestService { >> > >> > protected abstract Resource getServiceDefinitionBeans(); >> > protected abstract String getStaticContentPath(); >> > protected GenericApplicationContext applicationContext; >> > protected Bus bus; >> > >> > private void readBeans(Resource beanResource) { >> > XmlBeanDefinitionReader reader = new >> > XmlBeanDefinitionReader(applicationContext); >> > reader.loadBeanDefinitions(beanResource); >> > } >> > >> > @Before >> > public void launchService() throws Exception { >> > applicationContext = new GenericApplicationContext(); >> > readBeans(new ClassPathResource("META-INF/cxf/cxf.xml")); >> > readBeans(new >> > ClassPathResource("META-INF/cxf/cxf-extension-soap.xml")); >> > readBeans(new >> > ClassPathResource("META-INF/cxf/cxf-extension-http.xml")); >> > readBeans(new >> > ClassPathResource("META-INF/cxf/cxf-extension-http-jetty.xml")); >> > readBeans(getServiceDefinitionBeans()); >> > applicationContext.refresh(); >> > >> > bus = (Bus)applicationContext.getBean("cxf"); >> > ServerRegistry sr= bus.getExtension(ServerRegistry.class); >> > ServerImpl si = (ServerImpl) sr.getServers().get(0); >> > JettyHTTPDestination jhd = >> > (JettyHTTPDestination)si.getDestination(); >> > JettyHTTPServerEngine engine = (JettyHTTPServerEngine) >> > jhd.getEngine(); >> > Server server = engine.getServer(); >> > Handler serverHandler = server.getHandler(); >> > ContextHandlerCollection contextHandlerCollection = >> > (ContextHandlerCollection)serverHandler; >> > HandlerList handlerList = new HandlerList(); >> > ResourceHandler resourceHandler = new ResourceHandler(); >> > handlerList.addHandler(resourceHandler); >> > handlerList.addHandler(contextHandlerCollection); >> > server.setHandler(handlerList); >> > handlerList.start(); >> > File staticContentFile = new File(getStaticContentPath()); >> > URL targetURL = new URL("file://" + >> > staticContentFile.getCanonicalPath()); >> > FileResource fileResource = new FileResource(targetURL); >> > resourceHandler.setBaseResource(fileResource); >> > } >> > >> > @After >> > public void shutdownService() throws Exception { >> > bus = (Bus)applicationContext.getBean("cxf"); >> > ServerRegistry sr = bus.getExtension(ServerRegistry.class); >> > ServerImpl si = (ServerImpl) sr.getServers().get(0); >> > JettyHTTPDestination jhd = >> > (JettyHTTPDestination)si.getDestination(); >> > JettyHTTPServerEngine e = (JettyHTTPServerEngine) >> > jhd.getEngine(); >> > e.getServer().stop(); >> > applicationContext.destroy(); >> > } >> > >> > } >> > >> > >> >> -- >> View this message in context: http://www.nabble.com/Spring%2C-bus%2C- >> confusion-tf4545841.html#a12978917 >> Sent from the cxf-user mailing list archive at Nabble.com. > > > -- View this message in context: http://www.nabble.com/Spring%2C-bus%2C-confusion-tf4545841.html#a12981449 Sent from the cxf-user mailing list archive at Nabble.com.