Azure Service Bus is a fully managed enterprise message broker with message queues and publish-subscribe topics (in a namespace). Azure Service Bus uses the AMQP 1.0 as its primary means of communication.

GoldenGate for Distributed Applications and Analytics (GG for DAA) JMS handler can be used for replicating to Azure Service Bus over the Advanced Message Queueing Protocol (AMQP 1.0). JMS Handler is available in GoldenGate for Big Data image and you can download it from Oracle e-delivery. GoldenGate for DAA JMS handler supports rich set of formats including xml, json, csv, delimitedtext and more. Please refer to GoldenGate for DAA document for details.

Steps for configuring the replicat:

  1. Download Azure Service Bus JMS 1.0.0 client libraries and QPID JMS driver to GoldenGate for DAA server and save the path to files.
  2. Configure a JNDI properties file with the following format and save the path to file.# servicebus.properties - sample JNDI configuration
    • # Register a ConnectionFactory in JNDI using the form:
      # connectionfactory.[jndi_name] = [ConnectionURL]
      connectionfactory.<jndi_name> = amqps://<namespace>.servicebus.windows.net

      # Register some queues in JNDI using the form
      # queue.[jndi_name] = [physical_name]
      # topic.[jndi_name] = [physical_name]
      queue.<jndi_name> = <azure_service_bus_que_name>
      topic.<jndi_name>=<azure_service_bus_topic_name>

      Your JNDI prorperties file should look like below:

      JNDI Properties

       

  3. Configure JMS Handler in GoldenGate for DAA:
    • Clik Add Replicat
    • Select Replicat Type and click Next
    • Provide Basic Information in Replicat Options:
      • Process Name : Provide a name for the replicat
      • Trail Name      : Provide the name of the trail file
      • Target             : Select as Weblogic JMS
    • In Parameter File, provide mapping, parameters and click Next
    • In Properties File:
      1. Delete everything apart from the first row. First row holds the replicat name and if changed/ removed, replicat will fail. Your properties should look like below:

        GoldenGate

         

      2. Copy and Pasr the below properties into properties file

        gg.handlerlist=jms

        #Provide path to JNDI file
        java.naming.provider.url=<path to azure service bus JNDI properties file>
        java.naming.factory.initial=org.apache.qpid.jms.jndi.JmsInitialContextFactory

        #Provide runtime details
        gg.handler.jms.type=jms
        gg.handler.jms.user=<AzureServiceBus SAS_Token_Name>
        gg.handler.jms.password=<Azure_Service_Bus_SAS_Primary_Key>
        gg.handler.jms.destination=<topic/ que JNDI name as mentioned in JNDI properties file>
        gg.handler.jms.connectionFactory=<connection factory JNDI name as mentioned in JNDI properties file>
        gg.handler.jms.useJndi=true
        gg.handler.jms.format=json
        gg.classpath=path_to_ABS_JMS_Libs
        jvm.bootoptions=-Xmx512m -Xms32m (edited) 

        Your replicat file should look like below:

        Properties


         
      3. Clik Create and Run
      4. If replicat starts fine, you’ll see the replicat in a running status and marked with a green check. Click Action/ Details/ Statistics to see the replicat statistics:

        Replicat Statistics