Deployment服务:JBossAS管理动态资源的利器
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 = ...





