@ -22,7 +22,6 @@ import org.apache.catalina.Context;
@@ -22,7 +22,6 @@ import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException ;
import org.apache.catalina.startup.Tomcat ;
import org.springframework.beans.factory.InitializingBean ;
import org.springframework.http.server.reactive.ServletHttpHandlerAdapter ;
import org.springframework.http.server.reactive.TomcatHttpHandlerAdapter ;
import org.springframework.util.Assert ;
@ -30,40 +29,34 @@ import org.springframework.util.Assert;
@@ -30,40 +29,34 @@ import org.springframework.util.Assert;
/ * *
* @author Rossen Stoyanchev
* /
public class TomcatHttpServer extends HttpServerSupport implements HttpServer , InitializingBean {
public class TomcatHttpServer extends AbstractHttpServer {
private Tomcat tomcatServer ;
private boolean running ;
private String baseDir ;
private final String baseDir ;
private Class < ? > wsListener ;
private final Class < ? > wsListener ;
private Tomcat tomcatServer ;
public TomcatHttpServer ( ) {
}
public TomcatHttpServer ( String baseDir ) {
this . baseDir = baseDir ;
this ( baseDir , null ) ;
}
public TomcatHttpServer ( String baseDir , Class < ? > wsListener ) {
Assert . notNull ( baseDir ) ;
this . baseDir = baseDir ;
this . wsListener = wsListener ;
}
@Override
public void afterPropertiesSet ( ) throws Exception {
protected void initServer ( ) throws Exception {
this . tomcatServer = new Tomcat ( ) ;
if ( this . baseDir ! = null ) {
this . tomcatServer . setBaseDir ( baseDir ) ;
}
this . tomcatServer . setBaseDir ( baseDir ) ;
this . tomcatServer . setHostname ( getHost ( ) ) ;
this . tomcatServer . setPort ( getPort ( ) ) ;
ServletHttpHandlerAdapter servlet = initServletHttpHandler Adapter ( ) ;
ServletHttpHandlerAdapter servlet = initServletAdapter ( ) ;
File base = new File ( System . getProperty ( "java.io.tmpdir" ) ) ;
Context rootContext = tomcatServer . addContext ( "" , base . getAbsolutePath ( ) ) ;
@ -74,47 +67,27 @@ public class TomcatHttpServer extends HttpServerSupport implements HttpServer, I
@@ -74,47 +67,27 @@ public class TomcatHttpServer extends HttpServerSupport implements HttpServer, I
}
}
private ServletHttpHandlerAdapter initServletHttpHandlerAdapter ( ) {
if ( getHttpHandlerMap ( ) ! = null ) {
return new TomcatHttpHandlerAdapter ( getHttpHandlerMap ( ) ) ;
}
else {
Assert . notNull ( getHttpHandler ( ) ) ;
return new TomcatHttpHandlerAdapter ( getHttpHandler ( ) ) ;
}
private ServletHttpHandlerAdapter initServletAdapter ( ) {
return getHttpHandlerMap ( ) ! = null ?
new TomcatHttpHandlerAdapter ( getHttpHandlerMap ( ) ) :
new TomcatHttpHandlerAdapter ( getHttpHandler ( ) ) ;
}
@Override
public void start ( ) {
if ( ! this . running ) {
try {
this . running = true ;
this . tomcatServer . start ( ) ;
}
catch ( LifecycleException ex ) {
throw new IllegalStateException ( ex ) ;
}
}
protected void startInternal ( ) throws LifecycleException {
this . tomcatServer . start ( ) ;
}
@Override
public void stop ( ) {
if ( this . running ) {
try {
this . running = false ;
this . tomcatServer . stop ( ) ;
this . tomcatServer . destroy ( ) ;
}
catch ( LifecycleException ex ) {
throw new IllegalStateException ( ex ) ;
}
}
protected void stopInternal ( ) throws Exception {
this . tomcatServer . stop ( ) ;
this . tomcatServer . destroy ( ) ;
}
@Override
public boolean isRunning ( ) {
return this . running ;
protected void reset ( ) {
this . tomcatServer = null ;
}
}