The DeploymentFactory interface is a deployment driver for a J2EE plaform product.
It returns a DeploymentManager object which represents a connection to a specific J2EE platform product.
Each application server vendor must provide an implementation of this class in order for the J2EE
Deployment API to work with their product.
The class implementing this interface should have a public no-argument constructor,
and it should be stateless (two instances of the class should always behave the same).
It is suggested but not required that the class have a static initializer that registers
an instance of the class with the DeploymentFactoryManager class.
A connected or disconnected DeploymentManager can be requested.
A DeploymentManager that runs connected to the platform can provide access to J2EE resources.
A DeploymentManager that runs disconnected only provides module deployment configuration support.
| Method from org.jboss.deployment.spi.factories.DeploymentFactoryImpl Detail: |
public DeploymentManager getDeploymentManager(String uri,
String userName,
String password) throws DeploymentManagerCreationException {
log.debug("getDeploymentManager (uri=" + uri + ")");
DeploymentManager mgr = null;
try
{
URI deployURI = parseURI(uri);
mgr = new DeploymentManagerImpl(deployURI, true, userName, password);
}
catch (URISyntaxException e)
{
DeploymentManagerCreationException ex = new DeploymentManagerCreationException("Failed to create DeploymentManagerImpl");
ex.initCause(e);
throw ex;
}
return mgr;
}
Get a connected deployment manager |
public DeploymentManager getDisconnectedDeploymentManager(String uri) throws DeploymentManagerCreationException {
log.debug("getDisconnectedDeploymentManager (uri=" + uri + ")");
DeploymentManager mgr = null;
try
{
URI deployURI = parseURI(uri);
mgr = new DeploymentManagerImpl(deployURI, false);
}
catch (URISyntaxException e)
{
DeploymentManagerCreationException ex = new DeploymentManagerCreationException("Failed to create DeploymentManagerImpl");
ex.initCause(e);
throw ex;
}
return mgr;
}
Get a disconnected version of the deployment manager |
public String getDisplayName() {
return DISPLAY_NAME;
}
The name of the JBoss DeploymentFactory. |
public String getProductVersion() {
return PRODUCT_VERSION;
}
The version of the deployment manager |
public boolean handlesURI(String uri) {
boolean handlesURI = DeploymentManagerImpl.DEPLOYER_URI.equals(uri);
if (handlesURI == false)
{
try
{
URI deployURI = parseURI(uri);
handlesURI = "jnp".equals(deployURI.getScheme());
}
catch (URISyntaxException e)
{
log.warn("Failed to parse uri: " + uri, e);
}
}
log.debug("handlesURI [" + uri + "]: " + handlesURI);
return handlesURI;
}
Look for jboss-deployer:.... URIs. Returns true if uri is has a
scheme of jboss-deployer, false otherwise. |
public static synchronized void register() {
/* Obtain the display name and version from the Package object for
org.jboss.deploy.spi.factories
*/
register();
// Register this deployment factory with the manager
if( DISPLAY_NAME == null )
{
DeploymentFactoryManager manager = DeploymentFactoryManager.getInstance();
manager.registerDeploymentFactory(new DeploymentFactoryImpl());
Package pkg = Package.getPackage("org.jboss.deploy.spi.factories");
if (pkg != null)
{
DISPLAY_NAME = pkg.getImplementationVendor();
PRODUCT_VERSION = pkg.getImplementationVersion();
}
if (DISPLAY_NAME == null || PRODUCT_VERSION == null)
{
DISPLAY_NAME = "DeploymentFactoryImpl";
PRODUCT_VERSION = "1.1-DEV";
}
}
}
Register a DeploymentFactoryImpl instance with the DeploymentFactoryManager.
This obtains the display name and version from the Package object for
org.jboss.deploy.spi.factories |