Resolving events not flowing to the JMS queue
If you observe that no events are flowing to Kafka, the cause might be with the JMS queue. Check the DEF configuration, the status of the messaging engine, and the configuration of the Java™ Message Service (JMS) resources.
About this task
- Events are sent to a dedicated JMS queue.
- These events are consumed by the BPM event emitter.
- The BPM event emitter formats them to raw events and sends them to Apache Kafka (or IBM Event Streams).
When no events are flowing to Kafka, something might be wrong with the DEF or JMS configuration. Go through each configuration element in IBM® Business Automation Workflow deployment environment.
Procedure
Checking the DEF configuration
About this task
The defconfig.xml file holds the DEF configuration and must be present in the IBM Business Automation Workflow Deployment Manager profile at this location: <BAW_Install_Root>/profiles/DmgrProfile/config/cells/<CellName>.
The defconfig.xml file must also be synchronized, and therefore identical, on all BPM nodes: <BAW_Install_Root>/profiles/<NodeProfile>/config/cells/<CellName>
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:defconfig="http://www.ibm.com/websphere/appserver/schemas/8.5.5/defconfig.xmi">
<defconfig:DefListenerConfig xmi:id="DefListenerConfig_1515663368939">
<defListener xmi:id="DefListener_1515663369141" listenerId="jmsListenerOI" listenerFactoryId="com.ibm.bpm.def.JmsDefEventJSONListenerFactory">
<filter xmi:id="DefFilter_1515663369447" appName="*" version="*" componentType="*" componentName="*" elementType="*" elementName="*" nature="*" filterId="jmsListenerOI_0"/>
<defProperties xmi:id="DefProperty_1515663369230" name="JMS_QUEUE_JNDI" value="jms/monitorQueue"/>
<defProperties xmi:id="DefProperty_1515663369277" name="JMS_QUEUE_CF_JNDI" value="jms/monitorcf"/>
<defProperties xmi:id="DefProperty_1515663369339" name="JMS_AUTHENTICATION_ALIAS" value="CellAdminAlias"/>
</defListener>
</defconfig:DefListenerConfig>
<defconfig:DefProducerConfig xmi:id="DefProducerConfig_1515663369875">
<defProducer xmi:id="DefProducer_1515663370041" producerId="ProducerFor_jmsOI">
<filter xmi:id="DefFilter_1515663370166" appName="*" version="*" componentType="*" componentName="*" elementType="*" elementName="*" nature="*" filterId="ProducerFor_jmsOI_0"/>
</defProducer>
</defconfig:DefProducerConfig>
</xmi:XMI>
The default configuration specifies asterisks in the seven DEF event point keys for the JSON DEF listener and producer. You can provide custom subscription but in that case, you must ensure to provide the subscriptions for all the processes from which you are interested in getting events.