Red Hat Training

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

13.6.2. EJBProcessor

Input Type EJB method name and parameters
Output Type EJB specific object
Class org.jboss.soa.esb.actions.EJBProcessor
Takes an input Message and uses the contents to invoke a Stateless Session Bean. This action supports EJB2.x and EJB3.x.

Table 13.16. EJBProcessor Properties

Property Description Required
ejb3
When calling to an EJB3.x session bean.
ejb-name
The identity of the EJB. Optional when ejb3 is true.
jndi-name
Relevant JNDI lookup.
initial-context-factory
JNDI lookup mechanism.
provider-url
Relevant provider.
method
EJB method name to call.
lazy-ejb-init
Whether EJBs should be lazily initialised at runtime rather than at deploy time. Default is false.
No
ejb-params
The list of parameters to use when calling the method and where in the input Message they reside.
esb-out-var
The location of the output. Default value is DEFAULT_EJB_OUT.
No

Example 13.11. Sample Configuration for EJB 2.x

<action name="EJBTest" class="org.jboss.soa.esb.actions.EJBProcessor">
    <property name="ejb-name" value="MyBean" />
    <property name="jndi-name" value="ejb/MyBean" />
    <property name="initial-context-factory" value="org.jnp.interfaces.NamingContextFactory" />
    <property name="provider-url" value="localhost:1099" />
    <property name="method" value="login" />
    <!-- Optional output location, defaults to "DEFAULT_EJB_OUT"
    <property name="esb-out-var" value="MY_OUT_LOCATION"/> -->
    <property name="ejb-params">
    <!-- arguments of the operation and where to find them in the message -->
        <arg0 type="java.lang.String">username</arg0>
        <arg1 type="java.lang.String">password</arg1>
    </property>
</action>

Example 13.12. Sample Configuration for EJB 3.x

<action name="EJBTest" class="org.jboss.soa.esb.actions.EJBProcessor">
    <property name="ejb3" value="true" />
    <property name="jndi-name" value="ejb/MyBean" />
    <property name="initial-context-factory" value="org.jnp.interfaces.NamingContextFactory" />
    <property name="provider-url" value="localhost:1099" />
    <property name="method" value="login" />
    <!-- Optional output location, defaults to "DEFAULT_EJB_OUT"
    <property name="esb-out-var" value="MY_OUT_LOCATION"/> -->
    <property name="ejb-params">
        <!-- arguments of the operation and where to find them in the message -->
        <arg0 type="java.lang.String">username</arg0>
        <arg1 type="java.lang.String">password</arg1>
    </property>
</action>