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>