12. 开发自定义的动作
只要简单的实现了org.jboss.soa.esb.actions.ActionPipelineProcessor接口,就可以实现一个自定义动作处理器。
这个接口支持具有可管理的生命周期的无状态动作的实现。一个实现了该接口的类的实例是以一个管道为基础实例化的。这就意味着你能够在初始化方法中缓存动作所需资源并在销毁方法中清空这些资源。
实现类应当通过process方法的实现来处理消息。
为了方便,你只需要简单的继承类
public class ActionXXXProcessor extends AbstractActionPipelineProcessor {
public void initialise() throws ActionLifecycleException {
// 初始化资源...
}
public Message process(final Message message) throws
ActionProcessingException {
// 以一种无状态的方式处理消息...
}
public void destroy() throws ActionLifecycleException {
// 清除资源...
}
}
12.1 使用属性对动作进行配置
一般的,Actions就像是一个需要外部配置来完成任务的模板。例如,PrintMessage动作使用一个名为“message”的属性来表明打印的内容和属性repeatCount来表明打印的次数。在jboss-esb.xml文件中的动作配置是这样的:
<action name="rintAMessage" class="test.PrintMessage">
<property name="information" value="Hello World!" />
<property name="repeatCount" value="5" />
</action>
一个动作实现类加载属性值的默认方法是使用ConfigTree实例。这个ConfigTree提供了一个关于动作的Dom-like视图。默认情况下,动作有一个引用ConfigTree参数的构造函数。例如:
public class PrintMessage extends AbstractActionPipelineProcessor {
private String information;
private Integer repeatCount;
public PrintMessage(ConfigTree config) {
information = config.getAttribute("information");
repeatCount = new Integer(config.getAttribute("repeatCount"));
}
public Message process(Message message) throws
ActionProcessingException {
for (int i=0; i < repeatCount; i++) {
System.out.println(information);
}
}
}
设置动作属性的另一个方式是在动作上添加相关属性的setter方法,以便框架自动完成属性的赋值。为了能使动作beab自动赋值,动作类必须实现
org.jboss.soa.esb.actions.BeanConfiguredAction接口。例如接下来的类和上面的那个有相同的作用:
public class PrintMessage extends AbstractActionPipelineProcessor
implements BeanConfiguredAction {
private String information;
private Integer repeatCount;
public setInformation(String information) {
this.information = information;
}
public setRepeatCount(Integer repeatCount) {
this.repeatCount = repeatCount;
}
public Message process(Message message) {
for (int i=0; i < repeatCount; i++) {
System.out.println(information);
}
}
}
注意:setRepeatCount()中的整形参数是从xml中指定的字符串自动转换的。
BeanConfiguredAction加载属性的方法是动作类获取参数的一个好的选择,然而,当需要直接处理xml形式参数的时候,ConfigTree方法要更好。
分享到:
相关推荐
JBoss Enterprise SOA Platform 5 ESB Services Guide For JBoss Developers and Administrators Edition 5.1.0
Mastering JBoss Enterprise Application Platform 7 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
JBoss Enterprise SOA Platform 5 ESB Services Guide
Jboss中英文安装,起步指南。 JBoss_Enterprise_Application_Platform-6.4-Getting_Started_Guide-en-US JBoss_Enterprise_Application_Platform-6.4-Getting_Started_Guide-zh-CN JBoss_Enterprise_Application_...
概述JBOSS4.3企业级程序运用平台,演示其特征.....
JBoss_Enterprise_Application_Platform-5.0-Getting_Started_Guide-zh-CN
JBoss 企业SOA平台是第一个全面的开源SOA产品,其设计目标是加快企业内部和企业之间的业务执行速度。JBoss 企业SOA平台有助于实现更出色的业务表现,并且比专有的SOA平台更简便、更开放和更具成本效益。
最近项目需要使用jboss-eap-4.3,因此下载了一个安装试试。 安装完运行run.bat启动,然后登陆http://localhost:8080/web-console/,弹出登录对话框,奇怪的是,无论输入什么用户名和密码,admin=admin也好,空也好...
JBOSS是一款通用的高效的开源服务器,广泛应用于服务器端。应用JBoss进行SOA开发,可以直接在JBOSS服务器内进行SOA开发,利用已有的资源和知识积累
JBoss Enterprise SOA Platform 5 SOA Getting Started Guide For JBoss Administrators and Developers.
JBoss_Enterprise_Application_Platform-5.0.1-Seam_Reference_Guide-en-US.pdf
JBOSS jBPM4.3源码(jBPM是公开源代码项目,它使用要遵循 Apache License。)
3.8. JBossESB和它与SOA的关系 11 4. 第二章 企业服务总线 13 4.1. 概述 13 4.2. 构建的必要条件 15 4.3. 注册和存储 16 4.4. 创建服务 16 4.5. 服务的版本化 16 4.6. 集成遗留系统 17 5. 第三章 什么时候使用JBoss...
JBOSS开发人员指南 JBOSS开发人员指南 JBOSS开发人员指南 JBOSS开发人员指南
JBOSS7.0全套的api 从官网下载 https://developers.redhat.com/products/eap/docs-and-apis/ 同学们不用再一个个下载啦!
The Administration Guide contains important information on how to configure and manage the ESB in the JBoss Enterprise SOA Platform.
Mastering.JBoss.Enterprise.Application.Platform.7.2016
精通JBoss——EJB与Web Services开发精解
这些示例演示了在JBoss Enterprise Application Platform 6或WildFly中使用相互客户端SSL身份验证。 本快速入门介绍了如何使用双向客户端ssl方案使用wildfly对用户进行身份验证。 在运行此示例之前,必须创建证书...
本书详实提供了最新JBoss ESB 的开发和编程指南。