Create Outbound JMS Streams

To create an outbound JMS message stream:

  1. Open Message Center Editor and go to the Message Center Streams box.
  2. Go to the Streams tab and click on Add stream.

  3. Configure the parameters for your outbound message stream in the pop-up window:

    For example:

    Stream name: JMS_EAGLETIP_TEST_SEND

    Delivery method: JMSPTP

    Stream Direction: Outbound

    Delivery Format: XML

    Ruleset File: eagle_ml-2-0_cm/out/xml/task_distributor.rsf

    Queue Connection Factory Name: ConnectionFactory

    Queue Name: dynamicQueues/JMS_eagletip_test

    Deliver Data As Is: YES

    Data Is Binary: YES

    JMS Connection User: mcadmin

    JMS Connection Password: ******

    Eagle JMS Client ID: QAJMS

    Important Note

    Queue Name should exist on your JMS server!
  4. Set the parameters of delivery in w_config_custom.inc:

    <!-- JMS Delivery Values -->
    <COL TAG="W_JMS_DEF_ACK_STREAM" EXPRESSION="'JMS_EAGLETIP_ack'" USERDESCRIPTION="Default JMS ACK Delivery Stream"/>
    <COL TAG="W_JMS_DEF_REPLY_STREAM" EXPRESSION="'JMS_EAGLETIP_reply'" USERDESCRIPTION="Default JMS REPLY Delivery Stream"/>
    <COL TAG="W_JMS_DEF_EXTRACT_STREAM" EXPRESSION="'JMS_EAGLETIP_TEST_SEND'" USERDESCRIPTION="Default JMS EXTRACT Delivery Stream"/>
  5. Use this control message to extract data from DB:

    <EagleML xsi:type="RunTaskRequest" eaglemlType="RunTaskRequest" eaglemlVersion="2-0" xsi:SchemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0">
    <header>
        <messageId>PERFDT201602023225323699300034</messageId>
        <sentBy>http://www.jennison.com</sentBy>
        <sendTo>http://www.eagleinvsys.com/eagleml-2-0_control_messages</sendTo>
        <replyTo>http://www.jennison.com</replyTo>
        <creationTimestamp>2015-02-20T23:22:53.237-05:00</creationTimestamp>
    </header>
    <taskIdentifier>
        <correlationId>SRV20160202EXTR00032</correlationId>
        <businessTaskId>SRVTESTEXTRACT0033</businessTaskId>
    </taskIdentifier>
    <taskTypeEnum>NEW</taskTypeEnum>
    <taskParameters>
        <taskParameter>
            <name>DeliveryMethod</name>
            <datatype>S</datatype>
            <value>JMS</value>
        </taskParameter>
        <taskParameter>
            <name>ActionType</name>
            <dataType>S</dataType>
            <value>EXTRACT</value>
        </taskParameter>
        <taskParameter>
            <name>StreamName</name>
            <dataType>S</dataType>
            <value>eagle_ml-2-0_default_out_q</value>
        </taskParameter>
        <taskParameter>
            <name>FeedType</name>
            <dataType>S</dataType>
            <value>SMFEXTRACT</value>
        </taskParameter>
        <taskParameter>
            <name>todate</name>
            <dataType>S</dataType>
            <value>2016-02-02 23-59-59</value>
        </taskParameter>
        <taskParameter>
            <name>fromdate</name>
            <dataType>S</dataType>
            <value>2016-02-02 00-00-00</value>
        </taskParameter>
        <taskParameter>
            <name>maxrows</name>
            <dataType>S</dataType>
            <value>100</value>
        </taskParameter>
    </taskParameters>
    </EagleML>

JMSPTP Parameters for Outbound Message Streams

The following table lists JMSPTP parameters for outbound message streams.

ParameterDescription
Queue Connection Factory NameThe connection factory used to send messages.
This parameter is optional.
If it is not defined, the value is taken from the jmsmessage.ini file (the configuration file of the Eagle JMS Broker Client) by the JMSConnectionFactoryQueue option.
Parameter value: string.
Queue NameThis is a required parameter that specifies the queue name to which the resulting messages will be posted.
For ActiveMQ, prefix the destination with dynamicQueues/.
Parameter value: string.
Reply Destination NameDefines the queue name into which the remote system will send the replies.
Local Delivery FolderDefines the plugin delivery folder. It is used as internal staging area. Eagle recommends using the default value.
Deliver Data As IsIf set to YES, the file from incoming will be delivered directly to the JMS destination (queue or topic) without any processing by the rules selected in the stream definition
Data is BinaryIf set to YES, the file will be sent directly to the JMS destination as a binary message.
If set to NO and Deliver Data As Is is set to YES, the file will be sent as a Text message, and the encoding will be assumed to be UTF-8.
Maximum Number Of FilesDefines the maximum number of files to be processed in parallel. If it is not specified or is set to 0, the number of files is unlimited.
This parameter is optional, its value is a positive number.
JMS Connection UserUser ID for authenticating with the JMS Provider.
JMS Connection PasswordUser Password for authenticating with the JMS Provider.
Eagle JMS Client IDClient ID specified in the eaglejmsbroker.properties file.
JNDI Provider URLProvider URL for JNDI classes. By default, Eagle expects JNDI parameters to be stored in the jndi.properties file on disk. Corresponds to the java.naming.provider.urlsetting.
JNDI Security AuthenticationJNDI Security Authentication parameter. Corresponds to the java.naming.security.authentication setting.
Possible values: None, Simple and Strong.
JNDI Security ProtocolJNDI Security Protocol parameter. Corresponds to the java.naming.security.protocol setting.
JNDI Security PrincipalJNDI Security Principal parameter. Corresponds to the java.naming.security.principal setting.
JNDI Security CredentialsJNDI Security Credentials parameter. Corresponds to the java.naming.security.credentials setting.
JNDI Security RealmJNDI Security Realm parameter. Corresponds to the java.naming.security.sasl.realm setting.
MC events logLevel of detail logging. Possible values include:
  • Errors only. Successful messages will not appear in the console. Failed records contain all details.
  • Status only. For successful messages only a “shell” empty record is stored, without underlying details. Failed records contain all details.
  • Full information. The records contain all details regardless of their status.
Failure Tolerance (%)Not applicable for JMS-based streams.