Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

14.10. Configuring a Java Bean Action

The Java Bean Action class must implement the org.jboss.soa.esb.actions.BeanConfiguredAction marker interface in order to make the action Bean populate automatically. Here is some sample code:
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.actions.BeanConfiguredAction;

public class PrintMessage implements BeanConfiguredAction {
  private String information;
  private Integer repeatCount;
  public void setInformation(String information) {
    this.information = information;
  }
  public void setRepeatCount(Integer repeatCount) {
    this.repeatCount = repeatCount;
  }
  public Message process(Message message) {
    for (int i=0; i < repeatCount; i++) {
      System.out.println(information);
    }
    return message;
  }
}

Note

The Integer parameter in the setRepeatCount() method is automatically converted from the String representation specified in the XML.
The BeanConfiguredAction method of loading properties is a good choice for actions that take simple arguments, while the ConfigTree method is a better option in situations when one needs to deal with the XML representation directly.

Important

These actions do not support the lifecycle methods. Rather they will be instantiated for every message passing through the action pipeline and will always have their process methods invoked using reflection.