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

2008年6月9日 | 07:15分类:JBoss AS | 标签: | 浏览:302
转载文章请注明:转载自JBossWeek.com [http://www.jbossweek.com]

DeploymentJBossAS的一个实验性的服务,它采用Velocity的模板机制,能够实现动态创建永久性的JMSJCA等资源的功能。

(一) Deployment服务的安装

1. DeploymentServiceJBoss中的一个小不点,隐藏在JBoss中的/docs/examples/varia目录下。

2. 它的安装非常简单,使用的是ant脚本,运行命令ant installDeploymentService被安装到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 = (DeploymentServiceMBean) MBeanServerInvocationHandler
.newProxyInstance(server, objectName,
DeploymentServiceMBean.class, false);
dservice.undeployModuleAsynch(”jbossweek-service.xml”);
dservice.removeModule(”jbossweek-service.xml”);

(四) 后记

现在的Deployment服务还不完善,许多功能仍待完善和改进,但是它提供了一个在JBoss平台上管理动态资源的思路,例如:您可以在此基础上对Deployment服务进行扩展,将JBoss平台改造成一个支持SaaS的技术支撑平台。

相关文章:

发表您的评论

您的名字: (*必填)

您的邮箱: (*不会被公布 ,必填)

您的网站: