org.jboss.deployment
Class DeploymentInfo

java.lang.Object
  extended byorg.jboss.deployment.DeploymentInfo
All Implemented Interfaces:
java.io.Serializable

public class DeploymentInfo
extends java.lang.Object
implements java.io.Serializable

Service Deployment Info . Every deployment (even the J2EE ones) should be seen at some point as Service Deployment info

See Also:
Service (src) , Serialized Form

Field Summary
 java.lang.String alternativeDD
          If this deployed as part of an EAR, there may be an alernative DD
 java.util.Collection classpath
          The classpath declared by this xml descriptor, needs entry
 java.util.HashMap context
          An arbitrary map of state associated with the deployment
 java.util.Date date
          The initial construction timestamp
 ObjectName (src) deployedObject
          The variable deployedObject can contain the MBean that is created through the deployment.
 SubDeployer (src) deployer
          The subdeployer that handles the deployment
 org.w3c.dom.Document document
          Each Deployment is really mapping one to one to a XML document, here in its parsed form.
 java.net.URL documentUrl
          An optional URL to the URL of the document loaded
 boolean isDirectory
          Does the deployment url point to a directory
 boolean isScript
           
 boolean isXML
          Is this a stand-alone service descriptor
 long lastDeployed
          The last system time the deployment inited by the MainDeployer
 long lastModified
          use for "should we redeploy failed"
 java.net.URLClassLoader localCl
          local Cl is a CL that is used for metadata loading, if ejb-jar.xml is left in the parent CL through old deployments, this makes ensures that we use the local version.
 java.net.URL localUrl
          An optional URL to a local copy of the deployment
 java.util.jar.Manifest manifest
          the manifest entry of the deployment (if any) manifest is not serializable ...
 java.util.List mbeans
          The mbeans deployed
 java.lang.Object metaData
          We can hold "typed" metadata, really an interpretation of the bare XML document
 DeploymentInfo (src) parent
          And the subDeployments have a parent
 LoaderRepositoryFactory.LoaderRepositoryConfig (src) repositoryConfig
          The configuration of the loader repository for this deployment
 java.lang.String shortName
          The suffix of the deployment url
 DeploymentState (src) state
          The current state of the deployment
 java.lang.String status
          A free form status for the "state" can be Deployed/failed etc etc
 java.util.Set subDeployments
          Anyone can have subdeployments
 RepositoryClassLoader (src) ucl
          Unified CL is a global scope class loader
 java.net.URL url
          the URL identifing this SDI
 java.net.URL watch
          The URL used to watch for changes when the deployment is unpacked
 java.lang.String webContext
          the web root context in case of war file
 
Constructor Summary
DeploymentInfo(java.net.URL url, DeploymentInfo (src)  parent, MBeanServer (src)  server)
           
 
Method Summary
 void addLibraryJar(java.net.URL libJar)
          All library jars referenced through either the manifest references or sar classpaths are added to the root DeploymentInfo class loader.
 void cleanup()
           
 void createClassLoaders()
          Create a UnifiedClassLoader for the deployment that loads from the localUrl and uses its parent deployments url as its orignal url.
 boolean equals(java.lang.Object other)
           
 java.lang.String getCanonicalName()
          The sortName concatenated with the canonical names of all parents.
 java.util.jar.Manifest getManifest()
          getManifest returns (if present) the deployment's manifest it is lazy loaded to work from the localURL
 MBeanServer (src) getServer()
           
 LoaderRepositoryFactory.LoaderRepositoryConfig (src) getTopRepositoryConfig()
          The the class loader repository name of the top most DeploymentInfo
 int hashCode()
           
 void setRepositoryInfo(LoaderRepositoryFactory.LoaderRepositoryConfig (src)  config)
          Set the UnifiedLoaderRepository info for the deployment.
 void setServer(MBeanServer (src)  server)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

date

public java.util.Date date
The initial construction timestamp


url

public java.net.URL url
the URL identifing this SDI


localUrl

public java.net.URL localUrl
An optional URL to a local copy of the deployment


watch

public java.net.URL watch
The URL used to watch for changes when the deployment is unpacked


shortName

public java.lang.String shortName
The suffix of the deployment url


lastDeployed

public long lastDeployed
The last system time the deployment inited by the MainDeployer


lastModified

public long lastModified
use for "should we redeploy failed"


status

public java.lang.String status
A free form status for the "state" can be Deployed/failed etc etc


state

public DeploymentState (src)  state
The current state of the deployment


deployer

public transient SubDeployer (src)  deployer
The subdeployer that handles the deployment


ucl

public transient RepositoryClassLoader (src)  ucl
Unified CL is a global scope class loader


localCl

public transient java.net.URLClassLoader localCl
local Cl is a CL that is used for metadata loading, if ejb-jar.xml is left in the parent CL through old deployments, this makes ensures that we use the local version. You must use the URLClassLoader.findResource method to restrict loading to the deployment URL.


classpath

public final java.util.Collection classpath
The classpath declared by this xml descriptor, needs entry


mbeans

public final java.util.List mbeans
The mbeans deployed


subDeployments

public final java.util.Set subDeployments
Anyone can have subdeployments


parent

public DeploymentInfo (src)  parent
And the subDeployments have a parent


webContext

public java.lang.String webContext
the web root context in case of war file


manifest

public transient java.util.jar.Manifest manifest
the manifest entry of the deployment (if any) manifest is not serializable ... is only needed at deployment time, so we mark it transient


document

public org.w3c.dom.Document document
Each Deployment is really mapping one to one to a XML document, here in its parsed form. A xerces document (org.apache.xerces.dom.DocumentImpl) is serializable.


documentUrl

public java.net.URL documentUrl
An optional URL to the URL of the document loaded


metaData

public transient java.lang.Object metaData
We can hold "typed" metadata, really an interpretation of the bare XML document


alternativeDD

public java.lang.String alternativeDD
If this deployed as part of an EAR, there may be an alernative DD


context

public transient java.util.HashMap context
An arbitrary map of state associated with the deployment


isXML

public boolean isXML
Is this a stand-alone service descriptor


isScript

public boolean isScript

isDirectory

public boolean isDirectory
Does the deployment url point to a directory


deployedObject

public ObjectName (src)  deployedObject
The variable deployedObject can contain the MBean that is created through the deployment. for instance, deploying an ejb-jar results in an EjbModule mbean, which is stored here.


repositoryConfig

public LoaderRepositoryFactory.LoaderRepositoryConfig (src)  repositoryConfig
The configuration of the loader repository for this deployment

Constructor Detail

DeploymentInfo

public DeploymentInfo(java.net.URL url,
                      DeploymentInfo (src)  parent,
                      MBeanServer (src)  server)
               throws DeploymentException (src) 
Method Detail

getServer

public MBeanServer (src)  getServer()

setServer

public void setServer(MBeanServer (src)  server)

createClassLoaders

public void createClassLoaders()
                        throws java.lang.Exception
Create a UnifiedClassLoader for the deployment that loads from the localUrl and uses its parent deployments url as its orignal url. Previously xml descriptors simply used the TCL but since the UCLs are now registered as mbeans each must be unique.

Throws:
java.lang.Exception

setRepositoryInfo

public void setRepositoryInfo(LoaderRepositoryFactory.LoaderRepositoryConfig (src)  config)
                       throws java.lang.Exception
Set the UnifiedLoaderRepository info for the deployment. This can only be called for the parent deployment, and must be done early in the Subdeployer init(DeploymentInfo) method prior to any class loading.

Throws:
java.lang.Exception

addLibraryJar

public void addLibraryJar(java.net.URL libJar)
All library jars referenced through either the manifest references or sar classpaths are added to the root DeploymentInfo class loader. This is neccessary to avoid IllegalAccessErrors due to classes in a pkg being split across jars


getTopRepositoryConfig

public LoaderRepositoryFactory.LoaderRepositoryConfig (src)  getTopRepositoryConfig()
The the class loader repository name of the top most DeploymentInfo


getManifest

public java.util.jar.Manifest getManifest()
getManifest returns (if present) the deployment's manifest it is lazy loaded to work from the localURL


cleanup

public void cleanup()

getCanonicalName

public java.lang.String getCanonicalName()
The sortName concatenated with the canonical names of all parents.


hashCode

public int hashCode()

equals

public boolean equals(java.lang.Object other)

toString

public java.lang.String toString()