Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Send an Extract to a JMS Destination

Extract Services can send the generated extract to a JMS destination. Before sending the extracts to a JMS destination

...

  • EagleExtractRecordCount - the number of records in the message.
  • EagleExtractSequenceNumber - the sequence number of the message when nuggetizing is enabled.
  • EagleExtractFileName - the file name generated for the extract.
  • EagleCorrelationId - the correlation id of the extract request.

Anchor
jmsconnection
jmsconnection
Configure a JMS Connection

The JMS Connection is configured by adding a JMS Connection configuration JSON file in the estar/tpe/dynamic/mc2/eaglejms/connections folder. The samples below show how to configure the JMS connections to ActiveMQ and WebSphere MQ servers. For a more detailed description see #JMS Messaging.

...

  1. If there is no ActiveMQ connection already configured, add a new file estar/tpe/dynamic/mc2/eaglejms/connections/extract_jms_connection.json with the following content:

    Code Block
    languagejs
    themeDJango
    titleSample ActiveMQ Configuration
    collapsetrue
    {    
      "Region": "oraclesid", /*Database name (Oracle SID) on which the Extract Service is running */    
      "Connections": [        
          {    
            "ConnectionName": "extract.jms.connection",
            "ComponentName": "amq",
            "Parameters": {
               "brokerURL": "tcp://activemqhostname:activemqport"            
            }
          }
       ]
    }


  2. Change the Region parameter to match the oracle SID the Eagle Extract Service is running with.
  3. Change the brokerURL with the specific ActiveMQ instance parameters. The ActiveMQ hostname and port number should be provided by the ActiveMQ broker administrators.

Configure a WebSphere MQ Connection

To configure a websphere MQ Connection: 

...

Info
titleSSL Connections

To configure a WebSphere MQ SSL Connection add the "SSLCipherSuite" parameter to the "Parameters" section in the connection definition:

      "SSLCipherSuite": "TLS_RSA_WITH_AES_128_CBC_SHA256"

The private keys and public keys should be places in the eagle/estar/tpe/dynamic/mc2/

Eagle will add out of the box support for easier configuration of truststore and keystores for JMS connections.

Anchor
jmsstream
jmsstream
Configure a JMS Destination Stream

Open Message Center Console and create a MC2JMS stream with the following parameters:

...

  • Instance - set to the MC2 instance with AppID 10000.
  • Connection Name - the name of the connection as defined in the JSON connection definition file ConnectionName parameter. Use extract.jms.connection if you used the sample JSON Connection files above. 
  • Destination Type - select QUEUE or TOPIC. 
  • Destination Name - the queue or topic name.
  • JMS Connection User and JMS Connection Password - the credentials used to connect to ActiveMQ.

Anchor
wconfigcustom
wconfigcustom
Configure Extract Service JMS Stream Name

Add to eagle/estar/tpe/dynamic/msgcenter/eagle_ml-2-0_custom_cm//w_config_custom.incW_JMS_EXTRACT_STREAM variable with the name of the stream created above (mc2_extract_jms_publish):

...

Specify the Outbound MC2JMS stream name (W_JMS_EXTRACT_STREAM) in the RTR as the JMSExtractStream task parameter.

Anchor
requestsamples
requestsamples
REST and Soap Extract Examples

Send the REST Extract Results to a JMS Destination

To send the extract to the JMS destination defined above, add a ExtractDeliveryMethod=JMS to the REST request as in this example:

Code Block
languagexml
http://eagle.webserver.com/eagle/v2/entities?maxrows=10&OutputFormat=json&ExtractDeliveryMethod=JMS

Send the SOAP Extract Results to a JMS Destination

To send the extract results to the JMS destination add a ExtractDeliveryMethod task parameter with value JMS to the RunTaskRequest:

...

Code Block
languagexml
themeDJango
titleRunTaskRequest - Nuggets - Send to JMS
collapsetrue
<soc:Envelope xmlns:soc="http://schemas.xmlsoap.org/soap/envelope/">
<soc:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<runTaskRequest xmlns="http://www.eagleinvsys.com/2011/wsdl/EagleML-2-0">
<EagleML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RunTaskRequestSync" eaglemlType="RunTaskRequest" eaglemlVersion="2.0">
<header>
<messageId>CC59ADD40E1E069</messageId>
<sentBy>http://www.client.com</sentBy>
<sendTo>http://www.eagleinvsys.com/eagle_ml-2-0_default_out_extract_service</sendTo>
<replyTo>http://www.client.com/Eagle Control Messages</replyTo>
</header>
<taskIdentifier>
<correlationId>ENTITY_NUGGET_JMS1</correlationId>
<businessTaskId>ENTITY_NUGGET_JMS1</businessTaskId>
</taskIdentifier>
<taskTypeEnum>LOAD</taskTypeEnum>
<synchronousExecution>no</synchronousExecution>
<taskParameters>
<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_extract_service</value>
</taskParameter>
<taskParameter>
<name>FeedType</name>
<dataType>S</dataType>
<value>ENTITYEXTRACT</value>
</taskParameter>
<taskParameter>
<name>maxrows</name>
<dataType>I</dataType>
<value>50</value>
</taskParameter>                                                        
<taskParameter>
<name>outputformat</name>
<dataType>S</dataType>
<value>JSON</value>
</taskParameter>
<taskParameter>
	<name>RecordCountPerNugget</name>
	<dataType>S</dataType>
	<value>5</value>
</taskParameter>

<taskParameter>
<name>DirectTransform</name>
<dataType>S</dataType>
<value>N</value>
</taskParameter>
<taskParameter>
<name>ExtractDeliveryMethod</name>
<dataType>S</dataType>
<value>JMS</value>
</taskParameter>
</taskParameters>
</EagleML>
</runTaskRequest>
</soc:Body>
</soc:Envelope>

Send the TSR and ACK to a JMS Destination

To send the TSR to a JMS Destination, use the ReplyDeliverMethod=JMS and JMSReplyDeliveryStream=stream name parameters.

...