package org.jboss.resteasy.plugins.spring;
import org.jboss.resteasy.util.PortProvider;
import org.jboss.resteasy.core.Dispatcher;
import org.jboss.resteasy.plugins.server.embedded.SecurityDomain;
import org.jboss.resteasy.plugins.server.tjws.TJWSEmbeddedJaxrsServer;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
public class EmbeddedContainerBean implements InitializingBean, DisposableBean
{
private TJWSEmbeddedJaxrsServer embeddedServer = new TJWSEmbeddedJaxrsServer();
private String rootPath = "/";
private int port = PortProvider.getPort();
private SecurityDomain securityDoamin = null;
public String getRootPath()
{
return rootPath;
}
public void setRootPath(String rootPath)
{
this.rootPath = rootPath;
}
public int getPort()
{
return port;
}
public void setPort(int port)
{
this.port = port;
}
public TJWSEmbeddedJaxrsServer getEmbeddedServer()
{
return embeddedServer;
}
public SecurityDomain getSecurityDoamin()
{
return securityDoamin;
}
public void setSecurityDoamin(SecurityDomain securityDoamin)
{
this.securityDoamin = securityDoamin;
}
public Dispatcher getDispatcher()
{
return embeddedServer.getDeployment().getDispatcher();
}
public void afterPropertiesSet() throws Exception
{
embeddedServer.setPort(getPort());
embeddedServer.setRootResourcePath(getRootPath());
embeddedServer.setSecurityDomain(getSecurityDoamin());
embeddedServer.start();
}
public void destroy() throws Exception
{
embeddedServer.stop();
}
}