Designing Intelligent Event Processor (IEP) Projects

Configuring Message Reliability in an IEP Module Project

The IEP Service Engine receives messages from and sends messages to other Java Business Integration (JBI) components. You can configure an IEP Module project for reliability in these message exchanges. If the system crashes and is subsequently restarted, message loss and message duplication do not occur.

This feature is supported for any JBI component that supports XA transactions.

You must follow the JBI component's procedure for configuring XA transactions.

Assume that you create an IEP Module project that receives messages from the JMS Binding Component and sends messages to the JMS Binding Component. To configure message reliability, set the transaction attribute of the JMS operation element to XATransaction.

The following example shows an input binding in a WSDL document. The transaction attribute is set to XATransaction.


<binding name="InputBinding"
         type="defns:InputPt">
    <jms:binding></jms:binding>
    <operation name="StreamInput0">
        <jms:operation destination="ext_client_publish_IEPCrashAndRecoveryNoBP"
                       destinationType="Queue"
                       transaction="XATransaction"
                       maxConcurrentConsumers="32">
        </jms:operation>
        <input>
            <jms:message textPart="input"
                         messageType="TextMessage">
            </jms:message>
        </input>
    </operation>
</binding>

The following example shows an output binding in a WSDL document. The transaction attribute is set to XATransaction.


<binding name="OutputBinding_StreamOutput0"
         type="defns:OutputPt_StreamOutput0">
    <jms:binding></jms:binding>
    <operation name="StreamOutput0">
        <jms:operation destination="ext_client_consume_IEPCrashAndRecoveryNoBP"
                       destinationType="Queue"
                       transaction="XATransaction"
                       deliveryMode="PERSISTENT"
                       disableMessageID="true"
                       disableMessageTimeStamp="true">
        </jms:operation>
        <input>
            <jms:message textPart="output"
                         messageType="TextMessage">
            </jms:message>
        </input>
    </operation>
</binding>

For more information about the JMS Binding Component, see Using the JMS Binding Component.

You can disable message reliability for outbound messages by editing the Transacted Output property of the IEP Service Engine.

ProcedureTo Disable Message Reliability for Outbound Messages

  1. Go to the NetBeans IDE.

  2. In the Services window, right-click the sun-iep-engine node and choose Properties.

  3. Clear the Transacted Output check box.

  4. Click OK.