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.


