TREP connection count abnormal

Background:

1.EMA Java SDK 3.2.2.0

2.CentOS 7

Issue description:

1.In normal situation, we only built 3 connections to TREP for each application.

(3 consumer in the same channel of EmaConfig.xml)

2.When the system runs a fews days, the connection count is up to 40.

(We check the connection count by network monitor and TREP monitor)

3.The total connections of applications are over 200. That is more than TREP limit setting.


Problems:

1.Why the connection count increase day by day?

2.Is there any log mention that we can check of EMA library?

(Ex:Which channel that we use? When the program login to TREP?)

Thanks a lot.

Best Answer

  • Jirapongse
    Jirapongse admin
    Answer ✓

    @ccm

    First, please make sure that the application itself doesn't create new OMMConsumer instances when specific events happen, such as item closed, item stale, or connection down. Typically, one OMMConsumer uses one connection and it has its own logic to recover the connection when the connection is down. If the application creates a new OMMConsumer, it means that the application creates a new connection to TREP.

    For logging, "The EMA uses the SLF4J logging API, in which you can have the underlying logging backend be the Java standard logger utility package (java.util.logging), log4j, or other logger adapters which implement the SLF4J logging interface. "

    The steps are:

    1. As command-line arguments, we pass

    "-Djava.util.logging.config.file=logging.properties"

    2. Create a file logging.properties and put it into the same folder with the app

    3. The sample contents of logging.properties to log into emaj.log file are:

    #This file contains log configuration for java logging API.
    # Level mapping between jdk and slf4j logging
    # jdk.util.logging     SLF4J 
    # FINEST  -> ALL
    # FINEST   -> DEBUG
    # FINEST   -> TRACE
    # INFO    -> INFO
    # WARNING -> WARN
    # SEVERE  -> ERROR
    .level=ALL
    handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
    #handlers=java.util.logging.FileHandler
    java.util.logging.ConsoleHandler.level=ALL
    java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
    java.util.logging.FileHandler.level=ALL
    java.util.logging.FileHandler.pattern=./emaj.log
    java.util.logging.FileHandler.limit=50000000
    java.util.logging.FileHandler.count=20
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    # Format timestamp as date/time with millisecond
    java.util.logging.SimpleFormatter.format=%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$-7s %2$s %n%5$s

    For more information regarding EMA logging, please refer to the following articles and questions.