Deployment服务:JBossAS管理动态资源的利器

2008-06-09,星期一 | 分类:JBoss AS | 标签: | 浏览:302
Deployment是JBossAS的一个实验性的服务,它采用Velocity的模板机制,能够实现动态创建永久性的JMS、JCA等资源的功能。 (一) Deployment服务的安装 1. DeploymentService是JBoss中的一个小不点,隐藏在JBoss中的/docs/examples/varia目录下。 2. 它的安装非常简单,使用的是ant脚本,运行命令ant install,DeploymentService被安装到default配置中deployment-service.sar目录下,模板文件被安装到default配置中的conf/templates下; 3. 启动JBoss服务器,打开JMX-Console就可以在JBoss域下找到service=DeploymentService节点,安装完成。 (二) Deployment服务的配置 Deployment服务本身是一个MBean,它主要通过Deployment服务中的META-INF/jboss-service.xml文件配置,主要的属性如下: 1. TemplateDir:指向部署模板的目录,缺省为./conf/templates; 2. UndeployDir:指向正在动态生成的部署模块目录,缺省为./undeploy; 3. DeployDir:指向已经动态生成的部署模块目录,缺省为./deploy; (三) Deployment服务的应用 1. 动态添加JMS Queue MBeanServer server = MBeanServerLocator.locateJBoss(); ObjectName objectName = null; objectName = new ObjectName("jboss:service=DeploymentService"); DeploymentServiceMBean dservice = (DeploymentServiceMBean) MBeanServerInvocationHandler .newProxyInstance(server, objectName, DeploymentServiceMBean.class, false); HashMap properties = new HashMap(); properties.put("QueueName", "jbossweekQueue"); String module = dservice.createModule("jbossweek", "jms-queue", properties); dservice.deployModuleAsynch(module); 2. 动态删除JMS Queue MBeanServer server = MBeanServerLocator.locateJBoss(); ObjectName objectName = null; objectName = new ObjectName("jboss:service=DeploymentService"); DeploymentServiceMBean dservice = ...