org.springframework.osgi.web.deployer.tomcat
Class TomcatWarDeployer

java.lang.Object
  extended by org.springframework.osgi.web.deployer.support.AbstractWarDeployer
      extended by org.springframework.osgi.web.deployer.tomcat.TomcatWarDeployer
All Implemented Interfaces:
InitializingBean, BundleContextAware, WarDeployer

public class TomcatWarDeployer
extends AbstractWarDeployer

Apache Tomcat 5.5.x/6.0.x specific war deployer. Unpacks the given bundle into a temporary folder which is then used for deploying the war into the web container.

The deployer works with a Service instance which should contain the Host and at least one Connector. The service can be either configured by the user (setService(Object) or detected automatically by the deployer.

Note: It is up to the Catalina Service provider to decide whether an Embedded instance is used or whether a Catalina object will be used instead.

Author:
Costin Leau
See Also:
Context, Container, Loader

Field Summary
 
Fields inherited from class org.springframework.osgi.web.deployer.support.AbstractWarDeployer
log
 
Constructor Summary
TomcatWarDeployer()
           
 
Method Summary
 void afterPropertiesSet()
           
protected  WarDeployment createDeployment(Bundle bundle, String contextPath)
          Creates and configures (but does not start) the web deployment for the given bundle.
protected  String getServerInfo()
          Returns a nice String representation of the underlying server for logging messages.
 void setService(Object service)
          Sets the Tomcat Service used by this deployer.
protected  void startDeployment(WarDeployment deployment)
          Starts the deployment artifact using the object returned by AbstractWarDeployer.createDeployment(Bundle, String).
 
Methods inherited from class org.springframework.osgi.web.deployer.support.AbstractWarDeployer
deploy, getBundleContext, setBundleContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TomcatWarDeployer

public TomcatWarDeployer()
Method Detail

setService

public void setService(Object service)
Sets the Tomcat Service used by this deployer. If none is set (the default), the deployer will look for an OSGi service, matching the Service interface (using a timeout of 5 seconds).

To avoid the dependencies on Tomcat classes in its signature, this setter accepts a plain Object that is checked and casted internally.

Parameters:
service - Tomcat service (normally a Spring-DM OSGi service reference)

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Specified by:
afterPropertiesSet in interface InitializingBean
Overrides:
afterPropertiesSet in class AbstractWarDeployer
Throws:
Exception

createDeployment

protected WarDeployment createDeployment(Bundle bundle,
                                         String contextPath)
                                  throws Exception
Description copied from class: AbstractWarDeployer
Creates and configures (but does not start) the web deployment for the given bundle. The returned object will be passed to AbstractWarDeployer.startDeployment(WarDeployment).

Specified by:
createDeployment in class AbstractWarDeployer
Parameters:
bundle - OSGi bundle deployed as war
contextPath - WAR context path
Returns:
web deployment artifact
Throws:
Exception - if something goes wrong.

startDeployment

protected void startDeployment(WarDeployment deployment)
                        throws Exception
Description copied from class: AbstractWarDeployer
Starts the deployment artifact using the object returned by AbstractWarDeployer.createDeployment(Bundle, String).

Specified by:
startDeployment in class AbstractWarDeployer
Parameters:
deployment - web deployment artifact
Throws:
Exception - if something goes wrong

getServerInfo

protected String getServerInfo()
Description copied from class: AbstractWarDeployer
Returns a nice String representation of the underlying server for logging messages.

Specified by:
getServerInfo in class AbstractWarDeployer
Returns:
toString for the running environment


Copyright © 2006-2009 Spring Framework. All Rights Reserved.