Inbound Communication Support

The Connector 1.5 specification defines the transaction and message inflow system
contracts for achieving inbound connectivity from an EIS. The message inflow contract also serves
as a standard message provider pluggability contract, thereby allowing various message
providers to seamlessly plug in their products with any application server that supports
the message inflow contract. In the inbound communication model, the EIS initiates
all communication to an application. An application can be composed of enterprise
beans (session, entity, or message-driven beans), which reside in an EJB container.

Incoming messages are received through a message endpoint, which is a message-driven
bean. This message-driven bean asynchronously consumes messages from a message provider.
An application can also synchronously send and receive messages directly using messaging
style APIs.

A resource adapter supporting inbound communication provides an instance of
an ActivationSpec JavaBean class for each supported message listener
type. Each class contains a set of configurable properties that specify endpoint activation
configuration information during message-driven bean deployment. The required-config-property element in the ra.xml file provides a list of configuration
property names required for each activation specification. An endpoint activation
fails if the required property values are not specified. Values for the properties
that are overridden in the message-driven bean’s deployment descriptor are applied
to the ActivationSpec JavaBean when the message-driven bean is
deployed.

Administered objects can also be specified for a resource adapter, and these
JavaBeans are specific to a messaging style or message provider. For example, some
messaging styles may need applications to use special administered objects (such as Queue and Topic objects in JMS). Applications use these
objects to send and synchronously receive messages using connection objects using
messaging style APIs. For more information about administered objects, see Chapter 14, Using the Java Message Service.