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.

Reply via email to