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企业SOA平台5 ESB服务指南概述 JBoss企业SOA平台5 ESB服务指南是一份为JBoss开发者和管理员提供的文档,用以指导他们如何在JBoss SOA平台上配置和使用企业服务总线(ESB)服务。这份指南覆盖了JBoss SOA...
### JBoss Enterprise SOA Platform 5 编程指南概要 JBoss Enterprise SOA Platform 5 是一款为企业级服务导向架构(SOA)设计的平台,提供企业服务总线(ESB)功能,以支持企业应用的集成和服务的组合。本指南旨在...
### Red Hat JBoss Enterprise SOA Platform 5:管理员与开发者入门指南 #### 一、概述 **Red Hat JBoss Enterprise SOA Platform 5**(以下简称“SOA平台”)是Red Hat公司推出的一款面向服务架构(Service-...
JBoss Administration Guide是一份详细的指南,它为使用JBoss Enterprise SOA Platform的管理员提供了配置和管理ESB(企业服务总线)的重要信息。这份指南涵盖了从基本概念的介绍、配置更改的应用,到具体的ESB配置...
* Easy to Use:JBoss SOA Platform非常易于使用,减少了开发和维护的成本。 * Flexible and Open:JBoss SOA Platform非常灵活和开放,能够满足不同的业务需求。 ESB、SOA和ACS都是实现企业内部不同系统之间的集成...
JBoss Server是一款由Red Hat公司开发的企业级应用服务器,它基于Java EE(Enterprise Edition)标准,提供了对Web服务、SOA(Service-Oriented Architecture)和分布式应用程序的强大支持。作为开源软件,JBoss ...
1. JBoss:JBoss是一个开源的应用服务器,基于Java EE(Java Platform, Enterprise Edition)标准,提供了一系列的企业级服务,如事务管理、安全管理、JMS消息队列等。它为开发者提供了全面的中间件平台,支持Web...
JBoss采用了模块化设计,主要包括EAP(Enterprise Application Platform)和AS(Application Server)两个部分。EAP是JBoss的商业版本,包含更多的企业级特性;AS则是社区版本,主要用于开发和测试环境。这两个版本...
《经典JavaEE企业应用实战-基于 WebLogic JBoss的JSF+EJB 3+JPA整合开发》这本书深入探讨了Java企业级应用的开发技术,主要聚焦于JavaServer Faces(JSF)、Enterprise JavaBeans(EJB)3以及Java Persistence API...
JBoss是一款开源的应用服务器,能够同时支持Web应用程序和EJB(Enterprise JavaBeans)应用,它遵循J2EE(Java 2 Platform, Enterprise Edition)规范。自从项目启动以来,JBoss已经从最初的EJB容器发展成为一个全面...
3. **JBoss Enterprise Application Platform (EAP)**:SwitchYard通常运行在JBoss EAP之上,这是一个基于Java EE的平台,提供了全面的应用服务器功能。 **JBoss EAP的安装步骤**: 1. 下载JBoss EAP的zip文件,并...
该指南《JBPM Users Guide》旨在为用户提供如何在JBoss Enterprise SOA Platform 4.2 CP04版本上使用JBPM的详细指导。 JBPM Users Guide是一份详尽的文档,由Red Hat公司发布,并遵循Open Publication License协议...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据着重要地位。JBoss EAP(Enterprise Application Platform)是Red Hat公司推出的一款开源的应用服务器,它基于Java EE(现在称为Jakarta EE)规范,...
1. **EJB3.0**:EJB3.0是Java EE(Java 2 Platform, Enterprise Edition)中的核心组件,它提供了面向服务架构(SOA)的组件模型,用于构建可扩展的、分布式的、高可用性的企业级应用。EJB3.0相比之前的版本,引入了...
JBoss 是一个开源的企业级应用服务器,它是基于Java EE(Java Platform, Enterprise Edition)标准的。JBoss 提供了一个全面的平台,用于部署和管理企业级应用程序,包括Web服务、SOA(Service-Oriented ...
Java开发在分布式环境下的底层结构主要涉及到J2EE(Java 2 Platform, Enterprise Edition)框架的应用,这是一种用于构建企业级应用程序的平台,尤其适合大型、复杂、多层的分布式系统。J2EE提供了多种服务、API和...
- **EAP(Enterprise Application Platform)**:JBoss BPM Suite运行在JBoss EAP上,这是一个基于Java EE的轻量级应用服务器。 4. **特性**: - **流程建模**:通过图形化工具如Jbpm Workbench,用户可以创建和...
2. J2EE架构知识:J2EE(Java 2 Platform, Enterprise Edition)是一种企业级Java应用程序开发平台,提供了许多的API和服务,用于开发大型企业级应用程序。Java软件工程师需要熟悉J2EE架构,包括JSP、Servlet、...
Java 企业版(Java 2 Platform, Enterprise Edition,简称J2EE)是Oracle公司推出的企业级应用开发平台,主要用于构建分布式、多层的、面向服务的(SOA)应用程序。本电子讲义针对J2EE初学者,旨在提供一个全面而...
- J2EE(Java 2 Platform, Enterprise Edition)是一个标准的平台,用于开发和部署企业级应用。 - Session Bean是EJB的一种,用于在服务器端维护会话状态。 - Spring的IOC(Inversion of Control)容器,负责创建...