GlassFish 中的jsr88

阅读更多
由于最近遇到了相关问题,所以看了看jsr88

什么是jsr88?
由于存在许多的AppServer,各个Server可部署的应用的格式也许各不相同,那为了适应不同的Server,开发者需要更换应用的形式,才可以部署到不同的AppServer上。为此,JCP提出了JSR88
Java Application Deployment(JSR 88)来解决这个问题.
更详细的说明,看这里:http://www.ibm.com/developerworks/cn/opensource/os-ag-remotedeploy/
有了jsr88后,各个AppServer只要指定
J2EE-DeploymentFactory-Implementation-Class:xxx.xxx.XXXFactory
即可。相应的部署需要时会调用指定的Factory

GlassFish中的jsr88指定为
org.glassfish.deployapi.SunDeploymentFactory

具体加载:
   protected void initialize() {
                
        File[] elligibleFiles = getListOfDeploymentFactoryFiles();
        if (elligibleFiles==null) {
            return;
        }
           
        for (int i=0;i 
 
getListOfDeploymentFactoryFiles()获取指定目录下的jsr88的实现指定类
在指定的jar包的META-INF/MANIFEST.MF文件中指定了实现类:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 1.5.0_22-b03 (Sun Microsystems Inc.)
J2EE-DeploymentFactory-Implementation-Class: org.glassfish.SunDeploymentFactory
Specification-Title: Java Platform, Enterprise Edition Specification
Specification-Vendor: Sun Microsystems, Inc.
Specification-Version: 5.0


你可能感兴趣的:(glassfish,jsr88)