Updating the configuration files for EMS recording

You can update the factories.conf and tibemsd.conf files to restore EMS recording after you receive the error message Cannot connect to Server, and to set up an SSL connection for TIBCO EMS.

About this task

When you are using EMS for recording, only the hostname is used. This is due to a setting in EMS, and it can cause issues when you use multiple domains or a VPN for recording EMS. To fix this, you either modify a configuration file and restart EMS or use TIBCO EMS admin to enter a command, which does not require a reboot.

Procedure

  1. The configuration file is located (by default) at:

    C:\ProgramData\TIBCO_HOME\tibco\cfgmgmt\ems\data\factories.conf

    Inside this file, locate the following artifacts:

    • TopicConnectionFactory
    • QueueConnectionFactory
    • GeneralConnectionFactory
  2. Each of these artifacts are set to use tcp://:7222. Depending on what you are recording, you must update this setting to the fully qualified domain name of the server using one of the following options.
    • Change TopicConnectionFactory from tcp://:7222 to tcp://Server.domain.name:7222 and then restart EMS.
    • Access TIBCO EMS admin and type setprop factory TopicConnectionFactory url=tcp://Server.domain.name:7222. This is the preferred method, and does not require a restart.
    These options can restore EMS recording after you receive the error message Cannot connect to Server. Notice that the message does not contain the server's fully qualified domain name.

    The following examples show the contents of the factories.conf and tibemsd.conf files.

    factories.conf

    [GenericConnectionFactory]
      type                  = generic
      url                   = tcp://7222
    
    [TopicConnectionFactory]
      type                  = topic
      url                   = tcp://7222
    
    [QueueConnectionFactory]
      type                  = queue
      url                   = tcp://7222
    
    [FTTopicConnectionFactory]
      type                  = topic
      url                   = tcp://localhost:7222,tcp://localhost:7224
    
    [FTQueueConnectionFactory]
      type                  = queue
      url                   = tcp://localhost:7222,tcp://localhost:7224
    [SSLQueueConnectionFactory]
      type                     = queue
      url                      = ssl://localhost:7243
      ssl_verify_host      = true
      ssl_expected_hostname      = server
      ssl_trusted              = certs\server_root.cert.pem
      ssl_identity          = certs\client_identity.p12
    
    [SSLTopicConnectionFactory]
      type                     = topic
      url                      = ssl://localhost:7243
      ssl_verify_host      = true
      ssl_expected_hostname      = server
      ssl_trusted              = certs\server_root.cert.pem
      ssl_identity          = certs\client_identity.p12

    tibemsd.conf

    server                  = EMS-SERVER
    password                = 
    #################################################
    users                   = users.conf
    groups                  = groups.conf
    topics                  = topics.conf
    queues                  = queues.conf
    acl_list                = acl.conf
    factories               = factories.conf
    routes                  = routes.conf
    bridges                 = bridges.conf
    transports              = transports.conf
    tibrvcm                 = tibrvcm.conf
    durables                = durables.conf
    channels                = channels.conf
    stores                  = stores.conf
    #################################################
    store                   = datastore
    #################################################
    max_connections         = 0
    #################################################
    max_msg_memory          = 512MB
    msg_swapping            = enabled
    #################################################
    listen                  = tcp://7222
    listen                  = ssl://localhost:7243
    #################################################
    authorization           = disabled
    #################################################
    routing                 = disabled
    #################################################
    flow_control            = disabled
    #################################################
    multicast               = disabled
    #################################################
    
    server_rate_interval        = 1
    statistics                  = enabled
    rate_interval               = 3
    detailed_statistics         = NONE
    statistics_cleanup_interval = 30
    max_stat_memory             = 64MB
    #################################################
    ssl_require_client_cert = yes
    #################################################
    ssl_cert_user_specname  = CERTIFICATE_USER
    #################################################
    ssl_server_identity     = certs/server.cert.pem
    ssl_server_key          = certs/server.key.pem  
    ssl_password            = password
    #################################################
    ssl_server_trusted      = certs/client_root.cert.pem