Altair® Panopticon

 

Creating ActiveMQ Input Data Source

Allows connection to Apache’s ActiveMQ message bus on a real-time streaming basis. Specifically, the connector allows Panopticon Streams to subscribe to XML, JSON or FIX based messages that are published on topics. The data format itself is arbitrary, and consequently, the connection includes the message definition.

Steps:

1.     In the New Data Source page, select Input > Active MQ in the Connector drop-down list.

 

2.     Enter the following information:

Property

Description

Broker

The location of the message broker.

User Id

The user Id that will be used to connect to the ActiveMQ service.

Password

The password to connect to the ActiveMQ service.

Topic

The topic or queue physical name.

 

3.     Check/uncheck the Use durable subscription box.

   NOTE

When connecting to a message bus, it is recommended to disable durable messaging. When it is enabled, this puts a heavier load to the server, and slows down the start and stop of subscriptions.

 

 

4.     Check/uncheck Messages can contain partial data box.

5.     Select the Message Type.

6.     Select either the period (.) or comma (,) as the Decimal Separator.

   NOTE

Prepend 'default:' for the elements falling under default namespace.

 

 

7.     Click  to the fetch the schema based on the connection details. Consequently, the list of columns with the data type found from inspecting the first ‘n’ rows of the input data source is populated and the Save button is enabled.

8.     You can also opt to load or save a copy of the column definition.

9.   You can also opt to click  to add columns to the MQ connection that represent sections of the message. Then enter or select:

Property

Description

Name

The column name of the source schema.

Fix Tag/JsonPath/Text Column Index/XPath

The Fix Tag/JsonPath/Text Column Index/XPath of the source schema.

Type

The data type of the column. Can be a Text, Numeric, or Time

Date Format

The format when the data type is Time.

Filter

Defined parameters that can be used as filter.

Enabled

Determines whether the message field should be processed.

 

   NOTE

To parse and format times with higher than millisecond precision, the format string needs to end with a period followed by sequence of lower case Fs. There can be no additional characters following them.

For example: yyyy-MM-dd HH:mm:ss.ffffff

 

 

If Message Type is set to Fix, the Add Column will display as:

 

If Message Type is set to JSON, the Add Column will display as:

 

If Message Type is set to Text, the Add column will display as:

If Message Type is set to XML, the Add column will display as:

To delete a column, check its  or all the column entries, check the topmost , then click .

10.   If the Type is selected as Text, it will be listed in the Id Column drop-down list box and can be used to select a key column to manage data updates and inserts.

Note: Every message definition needs a text column to be defined as the ID column. By default, only the latest data will be loaded into memory.

Furthermore, a streaming time series window can be generated by creating a compound key with the Id Column, plus a separately specified Time ID column.  This Time ID column can be from the source dataset, or alternatively automatically generated.

If the Time Id column is selected, then a scrolling time window can be specified.

For Automatic Time Id, define the Time Id Column Name.

As new data arrives from the subscription, new time slices will automatically be added, and old ones will be deleted.

If a new ID is received, a new row is added to the in-memory data set representing the ActiveMQ topic subscription. While if an existing ID is received, an existing row is updated.

11.   Check the Reset Data on Reconnect box to flush out the stale data and reload data after reconnection.

12.   Click . The new data source is added in the Data Sources list.