}
}
createStaticContext( embeddedTomcat, ctx, embeddedTomcat.getHost() );
Connector connector = new Connector( protocol );
connector.setPort( port );
if ( httpsPort > 0 )
{
connector.setRedirectPort( httpsPort );
}
connector.setURIEncoding( uriEncoding );
embeddedTomcat.getService().addConnector( connector );
embeddedTomcat.setConnector( connector );
AccessLogValve alv = new AccessLogValve();
alv.setDirectory( new File( configurationDir, "logs" ).getAbsolutePath() );
alv.setPattern( "%h %l %u %t \"%r\" %s %b %I %D" );
embeddedTomcat.getHost().getPipeline().addValve( alv );
// create https connector
Connector httpsConnector = null;
if ( httpsPort > 0 )
{
httpsConnector = new Connector( protocol );
httpsConnector.setPort( httpsPort );
httpsConnector.setSecure( true );
httpsConnector.setProperty( "SSLEnabled", "true" );
// should be default but configure it anyway
httpsConnector.setProperty( "sslProtocol", "TLS" );
if ( keystoreFile != null )
{
httpsConnector.setAttribute( "keystoreFile", keystoreFile );
}
if ( keystorePass != null )
{
httpsConnector.setAttribute( "keystorePass", keystorePass );
}
if ( keystoreType != null )
{
httpsConnector.setAttribute( "keystoreType", keystoreType );
}
httpsConnector.setAttribute( "clientAuth", clientAuth );
embeddedTomcat.getEngine().getService().addConnector( httpsConnector );
}
// create ajp connector
Connector ajpConnector = null;
if ( ajpPort > 0 )
{
ajpConnector = new Connector( ajpProtocol );
ajpConnector.setPort( ajpPort );
ajpConnector.setURIEncoding( uriEncoding );
embeddedTomcat.getEngine().getService().addConnector( ajpConnector );
}
if ( addContextWarDependencies || !getAdditionalWebapps().isEmpty() )
{
createDependencyContexts( embeddedTomcat );
}
if ( useSeparateTomcatClassLoader )
{
Thread.currentThread().setContextClassLoader( getTomcatClassLoader() );
embeddedTomcat.getEngine().setParentClassLoader( getTomcatClassLoader() );
}
embeddedTomcat.start();
Properties portProperties = new Properties();
portProperties.put( "tomcat.maven.http.port", Integer.toString( connector.getLocalPort() ) );
session.getExecutionProperties().put( "tomcat.maven.http.port",
Integer.toString( connector.getLocalPort() ) );
System.setProperty( "tomcat.maven.http.port", Integer.toString( connector.getLocalPort() ) );
if ( httpsConnector != null )
{
session.getExecutionProperties().put( "tomcat.maven.https.port",
Integer.toString( httpsConnector.getLocalPort() ) );
portProperties.put( "tomcat.maven.https.port", Integer.toString( httpsConnector.getLocalPort() ) );
System.setProperty( "tomcat.maven.https.port", Integer.toString( httpsConnector.getLocalPort() ) );
}
if ( ajpConnector != null )
{
session.getExecutionProperties().put( "tomcat.maven.ajp.port",
Integer.toString( ajpConnector.getLocalPort() ) );
portProperties.put( "tomcat.maven.ajp.port", Integer.toString( ajpConnector.getLocalPort() ) );
System.setProperty( "tomcat.maven.ajp.port", Integer.toString( ajpConnector.getLocalPort() ) );
}
if ( propertiesPortFilePath != null )
{
File propertiesPortsFile = new File( propertiesPortFilePath );
if ( propertiesPortsFile.exists() )