5.1.18 Trigger (JMS)
Overview
This section covers how to notify an application with JMS using Trigger functions. For an overview of the trigger function, please refer to the Trigger (rest) seciton.
Setting the Trigger
List.1 Setting the Trigger(TriggerJms.java)// Create Connection store = gridLogic.createGridStore(); // Create Trigger Settings TriggerInfo trigger = new TriggerInfo(); trigger.setName("InstrumentLogJMSTrigger"); trigger.setType(Type.JMS); trigger.setJMSDestinationType("queue"); trigger.setJMSDestinationName("jms/griddb"); trigger.setTargetEvents(EnumSet.of(EventType.PUT)); trigger.setUser("admin"); trigger.setPassword("admin"); trigger.setURI(URI.create("http://127.0.0.1:7676/")); // Get TimeSeries Container TimeSeries<InstrumentLog> logTs = store.getTimeSeries("weather_station_1", InstrumentLog.class); logTs.createTrigger(trigger);
- Line 33: Create a new Trigger with the TriggerInfo() class
- Line 34-41: Set the parameters for the trigger as necessary
- Line 47: Create the trigger
- Line 50-53: The a notification will be triggered when a row is updated.
Installation of the JMS server
Note: The installation procedure is complicated so please refer to the documentation of your chosen JMS server. The necessary configuration information specific to the sample environment is as follows:
Table 1 JMS Server Configuration
Setting Item | Setting Value |
---|---|
Notification URI | http://127.0.0.1:7676/ |
Destination type | queue |
Destination namejms/griddb |
The following is the output of the JMS server when above code triggers an event
List.4 ResultThe execution result of the list second row update TriggerJms.java the contents of the standard output of the JMS server when you run is as follows. { "Container" : "Weather_station_1" , "Event" : "Put" } Gsnode2 . Griddb_default - - [ 13 / Sep / 2016 10 : 18 : 01 ] "POST / HTTP / 1.1" 200 -
Source Code
Complete source code used in this sample can be downloaded from the following.
Download: trigger-jms.zip