JBoss Deployer体系结构

 

Jboss拥有一个可扩展的部署体系结构,它充许将各种组件无封的部署到Jboss JMX的微内核中。MainDeployer是整个部署体系结构的入口,每一次组件的部署请求都会MainDeployer,并由它决定哪一个 SubDeployer可以处理当前的部署请求,如果找到可以处理当前部署请求的SubDeployer,MainDeployer将当前的请求委派给相 应的SubDeployer。Jboss提供了如下的一些部署器:

  AbstractWebDeployer:该部署器处理web应用包(WARs)。它接受以war结尾的部署包或者目录。WARs必须有一个WEB-INF/web.xml描述符文件,并且也可能有一个WEB-INF/jboss-web.xml描述符文件。

  EARDeployer:该部署器部署企业应用包 (EARs). 它接受以ear结尾的部署包或者目录。EARs必须有一个META-INF/application.xml描述符文件,并且也可能有一个META-INF/jboss-app.xml描述符文件。

  EJBDeployer: 该部署器部署EJB包。它接受以jar结尾的部署包或者目录。EJB jars必须具有一个META-INF/ejb-jar.xml描述符文件,并且也可能有一个META-INF/jboss.xml描述符文件。

  JARDeployer: 该部署器部署jar包都库文件。该唯一的约束是它不能包含WEB-INF目录。

  RARDeployer: 该部署器部署JCA资源包(RARs). 它接受以rar结尾的部署包或者目录。RARS必须具有一个META-INF/ra.xml的部署描述符文件。

  SARDeployer: 该部署器部署JBoss MBean service包(SARs)。它接受以sar结尾的部署包或者目录,同时也接受以service.xml结属的一个xml文件。SARs的jar包里必须包含META-INF/jboss-service.xml部署描述符。

  XSLSubDeployer: 该处理器部署各种各样的xml文件。JBoss使用XSLSubDeployer来部署ds.xml,并且将它们转换成为service.xml给SARDeployer使用。当然,它也不仅仅只是做这一个功能。

  HARDeployer: 该部署器部署hibernate包(HARs)。它接受以har结属的部署包或者目录。HARs必须具有一个META-INF/hibernate-service.xml部署描述文件。

  AspectDeployer: 该部署器部署AOP包。它接受以aop结尾的部署包或者目录,它同时也接受aop.xml文件。AOP包必须具有META-INF/jboss-aop.xml部署描述文件。

  ClientDeployer: 该部署器部署J2EE应用客户端。它接受以jar结尾的部署包或者目录。J2EE clients必须具有META-INF/application-client.xml及META-INF/jboss-client.xml部署描述文件。

  BeanShellSubDeployer: 该部署器将bean shell脚本部署为一个MBeans。它接受以文件名bsh结尾的文件。

MainDeployer, JARDeployer及SARDeployer被硬编码的JBoss Server的核心里。其他所有的部署器作为MBean服务,通过调用MainDeployer的addDeployer(SubDeployer)方法 将它们自身注册到MainDeployer中。MainDepoyer通过DeploymentInfo对象和SubDeployer对象进行信息的通 讯。DeploymentInfo是一个封装了可部署的组件的状态信息的数据结构。

当MainDeployer接收到一个部署请求时,它迭代所有在它上面注册的SubDeployer,并依次调用SubDeployer上的 accepts(DeploymentInfo)方法,第一个返回true的Subdeployer将用当部署当前组件的部署器。 MainDeployer将委派init,create,start,stop,destroy部署生命周期操作到相应的Subdeployer。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值