Use of JCP site is subject to the
JCP Terms of Use and the
Oracle Privacy Policy
|
JSR 88 (Maintenance Release)1. IntroductionThis JSR 88 Maintenance release document outlines the changes necessary to support tools and application server integration with Java EE 5 features.2. Proposed ChangesAnnotations impactAs Java EE applications can now express their nature or their dependencies through standard java annotations, the existence of xml deployment descriptors is now optional in deployment archives. The possibility of providing partial XML deployment descriptors which completes or overrides annotations also complicates how deployment information can be represented in Java EE 5.Moreover, when using the current JSR88 APIs, standard deployment information was mainly described by the interfaces in the javax.enterprise.deploy.model package. These interfaces (mainly DeployableObject and DDBean) closely bind deployment descriptors to XML by the use of XPath to identify them. Deployment information changes are represented with events containing XPath values identifying the changed descriptors. In Java EE 5, annotations cannot be represented with such XPath values, hence the necessity for the tools to either translate such annotations so the current SPI between tools and application servers can be used as it is or come up with new interfaces all together. To keep the plugins as simple as possible, we would like to push the complexity on the hosting tool. We therefore require that tools merge the java annotations and optional partial or complete deployment descriptors into a model which will support XPath queries. Some tools may choose to translate the annotations into XML then process the optional xml deployment descriptors to have what is called in the Java EE platform specification a "full" XML deployment descriptor. Once this "full" XML deployment descriptors is calculated, current APIs can be used as is. Other tools may choose a more dynamic approach of translating annotation into XPath when necessary. Update to paragraph 3.1 of the JSR88 specification 1.1 : javax.enterprise.deploy.model interfaces implementation provided by the Tool MUST provide access to the full deployment descriptors irrespective of their initial representation : annotations, xml or a combination of both. API changesWith the introduction of descriptor-less archives, the following API on javax.enterprise.deploy.spi.DeploymentManager public ProgressObject distribute(Target[] targetList, InputStream moduleArchive, InputStream deploymentPlan) throws IllegalStateException will not allow the implementation to successfully determine the type of the archive. For instance, it is impossible to differentiate an .ear file from a .jar file (with some libraries at the top level). Therefore we propose to deprecate the above API for the following new API : public ProgressObject distribute(Target[] targetList, ModuleType type, InputStream moduleArchive, InputStream deploymentPlan) throws IllegalStateException Please note that the java.io.File version does not carry the same issues since the extension of the file is available to the implementation and can be used to successfully determine the archive type. All Java EE 5 product provider MUST implement the new distribute method with the same responsibilities as described in paragraph 4.1 of the JSR88 Specification Version 1.1 3. Contact InfoContact jerome.dochez@sun.com for comments. 4. Changed javadocs
javax.enterprise.deploy.spi
|
Method Summary | |
---|---|
DeploymentConfiguration |
createConfiguration(javax.enterprise.deploy.model.DeployableObject dObj)
Retrieve the object that provides server-specific deployment configuration information for the J2EE deployable component. |
javax.enterprise.deploy.spi.status.ProgressObject |
distribute(Target[] targetList,
java.io.File moduleArchive, java.io.File deploymentPlan)
The distribute method performs three tasks; it validates the deployment configuration data, generates all container specific classes and interfaces, and moves the fully baked archive to the designated deployment targets. |
javax.enterprise.deploy.spi.status.ProgressObject |
distribute(Target[] targetList,
java.io.InputStream moduleArchive,
java.io.InputStream deploymentPlan)
Deprecated. as of Java EE 5, replaced with distribute(Target[],
ModuleType, InputStream, InputStream) |
javax.enterprise.deploy.spi.status.ProgressObject |
distribute(Target[] targetList,
javax.enterprise.deploy.shared.ModuleType type,
java.io.InputStream moduleArchive,
java.io.InputStream deploymentPlan)
The distribute method performs three tasks; it validates the deployment configuration data, generates all container specific classes and interfaces, and moves the fully baked archive to the designated deployment targets. |
TargetModuleID[] |
getAvailableModules(javax.enterprise.deploy.shared.ModuleType moduleType,
Target[] targetList)
Retrieve the list of all J2EE application modules running or not running on the identified targets. |
java.util.Locale |
getCurrentLocale()
Returns the active locale this implementation of javax.enterprise.deploy.spi subpackages is running. |
javax.enterprise.deploy.shared.DConfigBeanVersionType |
getDConfigBeanVersion()
Returns the J2EE platform version number for which the configuration beans are provided. |
java.util.Locale |
getDefaultLocale()
Returns the default locale supported by this implementation of javax.enterprise.deploy.spi subpackages. |
TargetModuleID[] |
getNonRunningModules(javax.enterprise.deploy.shared.ModuleType moduleType,
Target[] targetList)
Retrieve the list of J2EE application modules distributed to the identified targets and that are currently not running on the associated server or servers. |
TargetModuleID[] |
getRunningModules(javax.enterprise.deploy.shared.ModuleType moduleType,
Target[] targetList)
Retrieve the list of J2EE application modules distributed to the identified targets and that are currently running on the associated server or servers. |
java.util.Locale[] |
getSupportedLocales()
Returns an array of supported locales for this implementation. |
Target[] |
getTargets()
Retrieve the list of deployment targets supported by this DeploymentManager. |
boolean |
isDConfigBeanVersionSupported(javax.enterprise.deploy.shared.DConfigBeanVersionType version)
Returns 'true' if the configuration beans support the J2EE platform version specified. |
boolean |
isLocaleSupported(java.util.Locale locale)
Reports if this implementation supports the designated locale. |
boolean |
isRedeploySupported()
This method designates whether this platform vendor provides application redeployment functionality. |
javax.enterprise.deploy.spi.status.ProgressObject |
redeploy(TargetModuleID[] moduleIDList,
java.io.File moduleArchive, java.io.File deploymentPlan)
(optional) The redeploy method provides a means for updating currently deployed J2EE applications. |
javax.enterprise.deploy.spi.status.ProgressObject |
redeploy(TargetModuleID[] moduleIDList,
java.io.InputStream moduleArchive,
java.io.InputStream deploymentPlan)
(optional) The redeploy method provides a means for updating currently deployed J2EE applications. |
void |
release()
The release method is the mechanism by which the tool signals to the DeploymentManager that the tool does not need it to continue running connected to the platform. |
void |
setDConfigBeanVersion(javax.enterprise.deploy.shared.DConfigBeanVersionType version)
Set the configuration beans to be used to the J2EE platform version specificed. |
void |
setLocale(java.util.Locale locale)
Set the active locale for this implementation of javax.enterprise.deploy.spi subpackages to run. |
javax.enterprise.deploy.spi.status.ProgressObject |
start(TargetModuleID[] moduleIDList)
Start the application running. |
javax.enterprise.deploy.spi.status.ProgressObject |
stop(TargetModuleID[] moduleIDList)
Stop the application running. |
javax.enterprise.deploy.spi.status.ProgressObject |
undeploy(TargetModuleID[] moduleIDList)
Remove the application from the target server. |
Method Detail |
---|
Target[] getTargets()
throws java.lang.IllegalStateException
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.TargetModuleID[] getRunningModules(javax.enterprise.deploy.shared.ModuleType moduleType,
Target[] targetList)
throws javax.enterprise.deploy.spi.exceptions.TargetException,
java.lang.IllegalStateException
moduleType
- A predefined designator for a J2EE
module type.targetList
- A list of deployment Target
designators the user wants checked for module run status.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.
javax.enterprise.deploy.spi.exceptions.TargetException
- An invalid Target designator encountered.TargetModuleID[] getNonRunningModules(javax.enterprise.deploy.shared.ModuleType moduleType,
Target[] targetList)
throws javax.enterprise.deploy.spi.exceptions.TargetException,
java.lang.IllegalStateException
moduleType
- A predefined designator for a J2EE
module type.targetList
- A list of deployment Target
designators the user wants checked for module not running status.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.
javax.enterprise.deploy.spi.exceptions.TargetException
- An invalid Target designator encountered.TargetModuleID[] getAvailableModules(javax.enterprise.deploy.shared.ModuleType moduleType,
Target[] targetList)
throws javax.enterprise.deploy.spi.exceptions.TargetException,
java.lang.IllegalStateException
moduleType
- A predefined designator for a J2EE
module type.targetList
- A list of deployment Target
designators the user wants checked for module not running status.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.
javax.enterprise.deploy.spi.exceptions.TargetException
- An invalid Target designator encountered.DeploymentConfiguration createConfiguration(javax.enterprise.deploy.model.DeployableObject dObj)
throws javax.enterprise.deploy.spi.exceptions.InvalidModuleException
dObj
- An object representing a J2EE deployable
component.
javax.enterprise.deploy.spi.exceptions.InvalidModuleException
- The DeployableObject is an unknown or unsupport component for this
configuration tool.javax.enterprise.deploy.spi.status.ProgressObject distribute(Target[] targetList,
java.io.File moduleArchive,
java.io.File deploymentPlan)
throws java.lang.IllegalStateException
targetList
- A list of server targets the user
is specifying this application be deployed to.moduleArchive
- The file name of the application
archive to be disrtibuted.deploymentPlan
- The XML file containing the
runtime configuration information associated with this application
archive.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.javax.enterprise.deploy.spi.status.ProgressObject distribute(Target[] targetList,
java.io.InputStream moduleArchive,
java.io.InputStream deploymentPlan)
throws java.lang.IllegalStateException
distribute(Target[],
ModuleType, InputStream, InputStream)
targetList
- A list of server targets the user
is specifying this application be deployed to.moduleArchive
- The input stream containing the
application archive to be disrtibuted.deploymentPlan
- The input stream containing the
deployment configuration information associated with this application
archive.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.javax.enterprise.deploy.spi.status.ProgressObject distribute(Target[] targetList,
javax.enterprise.deploy.shared.ModuleType type,
java.io.InputStream moduleArchive,
java.io.InputStream deploymentPlan)
throws java.lang.IllegalStateException
targetList
- A list of server targets the user
is specifying this application be deployed to.moduleType
- The module type of this application
archive.moduleArchive
- The input stream containing the
application archive to be disrtibuted.deploymentPlan
- The input stream containing the
deployment configuration information associated with this application
archive.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.javax.enterprise.deploy.spi.status.ProgressObject start(TargetModuleID[] moduleIDList)
throws java.lang.IllegalStateException
Only the TargetModuleIDs which represent a root module are valid for being started. A root TargetModuleID has no parent. A TargetModuleID with a parent can not be individually started. A root TargetModuleID module and all its child modules will be started.
moduleIDList
- A array of TargetModuleID objects
representing the modules to be started.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.javax.enterprise.deploy.spi.status.ProgressObject stop(TargetModuleID[] moduleIDList)
throws java.lang.IllegalStateException
Only the TargetModuleIDs which represent a root module are valid for being stopped. A root TargetModuleID has no parent. A TargetModuleID with a parent can not be individually stopped. A root TargetModuleID module and all its child modules will be stopped.
moduleIDList
- A array of TargetModuleID objects
representing the modules to be stopped.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.javax.enterprise.deploy.spi.status.ProgressObject undeploy(TargetModuleID[] moduleIDList)
throws java.lang.IllegalStateException
Only the TargetModuleIDs which represent a root module are valid for undeployment. A root TargetModuleID has no parent. A TargetModuleID with a parent can not be undeployed. A root TargetModuleID module and all its child modules will be undeployed. The root TargetModuleID module and all its child modules must stopped before they can be undeployed.
moduleIDList
- An array of TargetModuleID
objects representing the root modules to be stopped.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.boolean isRedeploySupported()
javax.enterprise.deploy.spi.status.ProgressObject redeploy(TargetModuleID[] moduleIDList,
java.io.File moduleArchive,
java.io.File deploymentPlan)
throws java.lang.UnsupportedOperationException,
java.lang.IllegalStateException
moduleIDList
- An array of designators of the
applications to be updated.moduleArchive
- The file name of the application
archive to be disrtibuted.deploymentPlan
- The deployment configuration
information associated with this application archive.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.
java.lang.UnsupportedOperationException
- this
optional command is not supported by this implementation.javax.enterprise.deploy.spi.status.ProgressObject redeploy(TargetModuleID[] moduleIDList,
java.io.InputStream moduleArchive,
java.io.InputStream deploymentPlan)
throws java.lang.UnsupportedOperationException,
java.lang.IllegalStateException
moduleIDList
- An array of designators of the
applications to be updated.moduleArchive
- The input stream containing the
application archive to be disrtibuted.deploymentPlan
- The input stream containing the
runtime configuration information associated with this application
archive.
java.lang.IllegalStateException
- is thrown when
the method is called when running in disconnected mode.
java.lang.UnsupportedOperationException
- this
optional command is not supported by this implementation.void release()
java.util.Locale getDefaultLocale()
java.util.Locale getCurrentLocale()
void setLocale(java.util.Locale locale)
throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException
- the
provide locale is not supported.java.util.Locale[] getSupportedLocales()
boolean isLocaleSupported(java.util.Locale locale)
javax.enterprise.deploy.shared.DConfigBeanVersionType getDConfigBeanVersion()
boolean isDConfigBeanVersionSupported(javax.enterprise.deploy.shared.DConfigBeanVersionType version)
version
- a DConfigBeanVersionType object
representing the J2EE platform version for which support is requested.
void setDConfigBeanVersion(javax.enterprise.deploy.shared.DConfigBeanVersionType version)
throws javax.enterprise.deploy.spi.exceptions.DConfigBeanVersionUnsupportedException
version
- a DConfigBeanVersionType object
representing the J2EE platform version for which support is requested.
javax.enterprise.deploy.spi.exceptions.DConfigBeanVersionUnsupportedException
- when the requested bean version is not supported.