<ejb:connector name="ejb" jndiContext-ref="jndiContext" securityPolicy="rmi.policy" />
EJB Transport Reference
The EJB transport allows EJB session beans to be invoked as part of an event flow. Components can be given an EJB outbound endpoint, which invokes the remote object and optionally returns a result.
Connector
The Mule EJB Connector provides connectivity for EJB beans.
Attributes of <connector…>
Name | Type | Required | Default | Description |
---|---|---|---|---|
pollingFrequency |
long |
no |
Period (ms) between polling connections. |
|
securityManager-ref |
name (no spaces) |
no |
Bean reference to the security manager that should be used. |
|
securityPolicy |
string |
no |
The security policy (file name) used to enable connections. |
|
serverClassName |
name (no spaces) |
no |
The target class name. |
|
serverCodebase |
string |
no |
The target method. |
Using the EJB Transport
To use the EJB transport, you must define the EJB namespace and schema location at the top of the Mule configuration file. For example:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:ejb="http://www.mulesoft.org/schema/mule/ejb"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.5/mule.xsd
http://www.mulesoft.org/schema/mule/ejb http://www.mulesoft.org/schema/mule/ejb/3.5/mule-ejb.xsd">
...
EJB endpoints are configured the same way as RMI endpoints.
Note: Only outbound endpoints can use the EJB transport.
Provide the following information for an endpoint:
-
Registry host
-
Registry port
-
Remote home name
-
Remote method name
These values are used to establish the dispatcher connection. For example:
<ejb:endpoint host="localhost" port="1099" object="SomeService" method="remoteMethod"/>
Alternatively, you can use a URI-based configuration:
<outbound-endpoint address="ejb://localhost:1099/SomeService?method=remoteMethod"/>
If the method can take one or more input arguments, configure their types as a comma-separated list using the methodArgumentTypes
attribute. Multiple arguments are passed in as an array of objects as the payload of the Mule message.