Jump to: navigation, search

recoverable

Section: logger-settings
Default Value: false
Valid Values: true, false
Changes Take Effect: Immediately


If this option is set to true, the messages being sent will have a flag MQMSG_DELIVERY_RECOVERABLE, otherwise, the messages will have a flag MQMSG_DELIVERY_EXPRESS.

Using the JMS Event Logger with Apache ActiveMQ

Important
You must have Apache ActiveMQ 5.14.5 or higher.

You can use the JMS Event Logger with Apache ActiveMQ to process reporting events using a JMS queue.

To enable the JMS Event Logger with Apache ActiveMQ, edit the option delivery-protocol and set the value to jms.

Configuring JMS Event Logger with Apache ActiveMQ

  1. Configure Apache ActiveMQ, as described on the Apache website.
  2. Create a jndi.properties file with the following content:
    java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
    java.naming.provider.url = tcp://activemq_host:61616
    connectionFactoryNames = ConnectionFactory
    queue.InxEventLogQueue = InxEventLogQueue
    queue.inbound = inx.inbound
    queue.error = inx.error
    queue.processed = inx.processed
    queue.notification = inx.notification
    Important
    The value of queue.InxEventLogQueue refers to a queue name in your environment.
  3. Pack the jndi.properties file in amq-jndi.jar.
  4. Add the following jars to the -Djava.class.path option in the jvm-options section:
    • activemq-all-5.14.5.jar
    • amq-jndi.jar
    jvm-options are located in Interaction Server application options. They are configured on per-process basis and not on per-capture-point one.
  5. Create the JMS Event Logger as a Database Access Point (DAP).
  6. Configure JMS Event Logger for connecting to Apache ActiveMQ by adding the following options in the logger-settings section:
    • delivery-protocol=jms
    • delivery-queue-name=InxEventLogQueue
    • jms-connection-factory-lookup-name=ConnectionFactory
    • jms-initial-context-factory=org.apache.activemq.jndi.ActiveMQInitialContextFactory
    • jms-provider-url=tcp://activemq_host:61616
    • reconnect-timeout=10
    Important
    • These options are for ActiveMQ credentials. These credentials might be specified during the connection factory configuration procedure.
    • Change the value of InxEventLogQueue to the queue value you set in the jndi.properties file.
    • The value of jms-provider-url is the Apache ActiveMQ URL that corresponds to the <transportConnectorname> node from the activemq.xml file.
  7. Configure persistence of messages generated by JMS Event Logger by setting the option recoverable. If this option is set to true, the message producer delivery mode is set to DeliveryMode.PERSISTENT. Otherwise, if set to false, the delivery mode is set to DeliveryMode.NON_PERSISTENT.
    Important
    If the delivery mode is DeliveryMode.NON_PERSISTENT and the corresponding message queue is deleted on the fly, Interaction Server does not report any errors, even though the messages are not written anywhere.
  8. Optionally, you can repeat the steps in this section to set up multiple JMS Event Loggers. With each additional logger, you must increment the name of additional queues as queue.InxEventLogQueue2 = InxEventLogQueue2 in the jndi.properties file.
  9. Add created JMS Event Loggers to Interaction Server connections.

Using TLS with Apache ActiveMQ

  1. Prepare the TLS certificates, as described in the Genesys Security Deployment Guide.
  2. Copy cert.jks and truststore.jks into the following folder: <Apache ActiveMQ installation directory>/conf.
  3. Open the file activemq.xml in the folder <Apache ActiveMQ installation directory>/conf and add the following lines:
            <transportConnectors>
             ...
            <transportConnectorname="ssl"uri="ssl://0.0.0.0:61617?trace=true&amp;needClientAuth=true"/>
             ...
        </transportConnectors>
        <sslContext>
            <sslContextkeyStore="file:${activemq.base}/conf/cert.jks"
            keyStorePassword="YourKeyStorePassword"
            trustStore="file:${activemq.base}/conf/truststore.jks"
            trustStorePassword="YourTrustStorePassword"/>
        </sslContext>
    Important
    Change the values of keyStorePassword and trustStorePassword to acceptable passwords.
  4. Restart ActiveMQ.
  5. Update the following configuration options in the logger-settings section:
    • jms-initial-context-factory=org.apache.activemq.jndi.ActiveMQSslInitialContextFactory
    • jms-provider-url=ssl://activemq_host:61617
  6. Add the following configuration options in the jms-additional-context-attributes section:
    • connection.ConnectionFactory.keyStore=cert.jks
    • connection.ConnectionFactory.keyStorePassword=keyStorePassword
    • connection.ConnectionFactory.keyStoreType=jks
    • connection.ConnectionFactory.trustStore=truststore.jks
    • connection.ConnectionFactory.trustStorePassword=trustStorePassword
    • connection.ConnectionFactory.trustStoreType=jks
    Important
    Change the values of connection.ConnectionFactory.keyStorePassword and ConnectionFactory.trustStorePassword to the values you set in the activemq.xml file.
This page was last edited on March 16, 2021, at 09:59.
Comments or questions about this documentation? Contact us for support!