Error db connection pool attribute maxactive

So it seems this parameter is not considered, but other yes, because the connection to database is correct so username, password etc. Can you help me please?.


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Hi all

I have a problem with datasource configuration.

I have a Tomcat 7 with Java 7 and a Quartz web application.

This application has a datasource configured:

With maxActive = 3 I expected to see no more than 3 connection opened. Instead of this, I see a new connection opened every time a Quartz Job starts, untill 8 connection (don’t know if this is the default limit).

So it seems this parameter is not considered, but other yes, because the connection to database is correct so username, password etc… are ok.

Can you help me please?

thanks


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Are you running this via Eclipse (WTP)?

I seem to remember it uses its own values for those things…


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Welcome to the JavaRanch!

Quartz has its own persistent store options for the schedules it runs. So unless you’ve specifically told Quartz to use pool «jdbc/name», then your configuration for the application connection pool would not apply.

Tomcat 7 complicates things, since you can either use the traditional Apache DBCP pool manager or the new Tomcat DBCP pool manager. I don’t know about the Apache DBCP manager, but I just took a peek at the Tomcat DBCP manager, and what it actually does is query maxActive when a pool Connection is requested. So in theory, more connections could physically exist for some reason even though Tomcat will only actually assign maxActive or less connections at one time.

I’m going to be a «small government» candidate. I’ll be the government. Just me. No one else.

Tim Holloway

Saloon Keeper

Posts: 26557

Android
Eclipse IDE
Tomcat Server
Redhat
Java
Linux


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Dave Tolls wrote:Are you running this via Eclipse (WTP)?

I seem to remember it uses its own values for those things…

Good point. Actually, WTP makes a (incomplete) clone of the Tomcat settings to use when it launches Tomcat. And it doesn’t update from your primary settings automatically, so WTP may not actually be using your coded maxConnections.

It is, in fact, a royal pain, which is why I prefer to use the Mongrel (sysdeo) Tomcat plugin for Eclipse instead of WTP.

I’m going to be a «small government» candidate. I’ll be the government. Just me. No one else.

Dave Tolls

Rancher

Posts: 4801


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Tim Holloway wrote:

It is, in fact, a royal pain, which is why I prefer to use the Mongrel (sysdeo) Tomcat plugin for Eclipse instead of WTP.

I have a completely separate Tomcat instance that I deploy to, and attach a debugger.

I always had too many inconsistencies with inbuilt servers.

Tim Holloway

Saloon Keeper

Posts: 26557

Android
Eclipse IDE
Tomcat Server
Redhat
Java
Linux


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Try Mongrel. You install Tomcat for stand-alone operation, point the Mongrel plugin to it and it will automatically handle start/stop/restart and debug connections.

It runs just like what you’re doing, but automates the process, so the standard stand-alone config files are what actually gets used and not some stale incomplete copy.

I’m going to be a «small government» candidate. I’ll be the government. Just me. No one else.

Dave Tolls

Rancher

Posts: 4801


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Tim Holloway wrote:Try Mongrel. You install Tomcat for stand-alone operation, point the Mongrel plugin to it and it will automatically handle start/stop/restart and debug connections.

It runs just like what you’re doing, but automates the process, so the standard stand-alone config files are what actually gets used and not some stale incomplete copy.

Ta.

I’ll try and remember the next time I’m in a place that has a Tomcat set up I can hook into.

Current client has their own setup.

The joy of contracting. I get to witness the many and varied ways people can set up their systems and dev environments.

Luke Rossi

Greenhorn

Posts: 4


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Thanks for you replies, but it’ was nothing related to quartz. It was a problem of factory org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

using org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory (replacing the originial tomcat 7 jar) it works

Don’t know why, but it works. With org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory even if initialSize was set to 8, only one was instantiated. Simply replacinig with org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory, 8 were instantiated

Luke Rossi

Greenhorn

Posts: 4


posted 7 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

I talked before time…

initialSize is correctly instantied.

maxActive is not considered, so a new connection is always opened every time…

Я использую пул соединений tomcat через ресурсы JNDI.

В разделе context.xml:

<Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource"
          username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
          maxActive="1000" maxIdle="100" maxWait="10000"
          url="jdbc:mysql://localhost:3306/mydatabase" 
          factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" />

In web.xml:

<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

Из классов java, в которых мне нужны соединения с базой данных, я выполняю этот поиск:

Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/mydb");

Мое первое сомнение — это тип DataSource. Это то же самое, используя javax.sql.DataSource or org.apache.tomcat.jdbc.pool.DataSource?

Более того, иногда я получаю ошибку «Слишком много подключений». Я прочитал много вопросов/ответов на stackoverflow по этому поводу, но мне не удается понять, в чем может быть проблема.

Я следил за документами tomcat и правильно закрываю наборы результатов, операторы и соединение.

РЕДАКТИРОВАТЬ

Моя версия кота 7.0.26. Значит, должна быть ошибка (см. ссылку, предложенную пользователем informatik01)

[Статья была написана в 2005 году и частично устарела. По возможности будет переписана.]

В наше время трудно представить себе веб-приложение, которое не использовало бы базу данных для своих нужд. При работе с базой данных очень важно следить за соединениями к базе и вовремя освобождать их. Для этих целей разработчики веб-приложений пишут так называемые Connection Pools (или же используют/исправляют существующие).

Одним из лучших сервлет-контейнеров есть Apache Tomcat. Tomcat хорошо еще и тем, что он использует свой собственный DBCP (Database Connection Pool).

О том, как в полной мере воспользоваться преимуществами DBCP сервера Tomcat, и будет эта статья.

Предположим, в сети по IP-адресу 192.168.0.5 находится Oracle с базой данных TESTDB и пользователем DBuser с паролем DBpass.

Для того, чтобы настроить Tomcat на эту базу, необходимо в конфигурационном фале confserver.xml в раздел Context (если нету, необходимо создать его внутри раздела Host непосредственно перед его окончанием) добавить следующие строки:

<resource name="newDS" auth="Container" 
type="javax.sql.DataSource"/>
<resourceparams name="newDS">
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>jdbc:oracle:thin:@192.168.0.10:1521:TESTDB</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>DBuser</value>
  </parameter>
  <parameter>
   <name>password</name>
    <value>DBpass</value>
  </parameter>
  <parameter>
     <name>driverClassName</name>
     <value>oracle.jdbc.driver.OracleDriver</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>100</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>10</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>10000</value>
  </parameter>
  <parameter>
    <name>removeAbandoned</name>
    <value>true</value>
  </parameter>
  <parameter>
    <name>removeAbandonedTimeout</name>
    <value>60</value>
  </parameter>
</resourceparams>

С помощью этой конфигурации создается Data Source с именем newDB. Рассмотрим параметры этого объекта.

Параметр factory говорит о том, какую фабрику нужно использовать для создания объектов, реализующих интерфейс DataSource. Следующий параметр представляет собой URL для доступа к базе данных. Параметры username и password содержат соответсвенно имя пользователя/схемы и пароль. Имя драйвера базы данных указано в параметре driverClassName.

Следующие параметры отвечают непосредственно за Connection Pool. Рассмотрим их немного подробнее.

maxActive — максимальное количество соединений, которые будут содержаться в пуле. Если значение этого параметра установить в 0, то ограничения на кол-во подключений к базе не будет. В конфигурации самого сервера баз даннных такой параметр тоже существует. Думаю не стоит объяснять, почему его значение должно быть больше, чем maxActive.

maxIdle — максимальное количество простаивающих соединений, которые будут оставаться в пуле. При значении этого параметра равным нулю, ограничений не будет.

maxWait — если время ожидания соединения превысит значение параметра maxWait (в миллисекундах), пользователь получит Exception. При значении maxWait равным -1, время ожидания не ограничено.

Прошу обрать ваше внимание на следующую очень важную вещь. Tomcat работает под виртуальной машиной (JVM). Для освобождения памяти JVM использует сборщик мусора (garbage collector). GC имеет очень высокий приоритет и при освобождении памяти Tomcat будет входить в состояние ожидания (на доли секунды, реже — на несколько секунд). При маленьких значениях maxWait, соединение может не установиться из-за таймаута. Значение 10000 в подавляющем большинстве случаев будет оптимальным.

removeAbandoned — при установке этого парамера в true, заброшенные соединения будут освобождены, когда кол-во свободных соединений в пуле невелико.

removeAbandonedTimeout — этот параметр указывает в секундах время, через которое любое простаивающее соединение будет считаться заброшенным.

После этого, нужно настроить наше веб-приложение для работы с DataSource. Делается это так, в файле-дескрипторе web.xml пишем:

<resource -ref>
  <description>Описание ресурса</description>
  <res -ref-name>newDB</res>
  <res -type>javax.sql.DataSource</res>
  <res -auth>Container</res>
</resource>

Наконец-то мы и добрались до использования всего вышенаписанного на практике. Чтобы доступиться до нашего DataSource через JNDI и создавать соединения с базой можно написать такой себе класс (импорт пакетов и обработка ошибок опущены):

public class ConnectionFactory {
  private static final String DATASOURCE_NAME = "newDB";
  private static DataSource ds = null;
	
  static {
    Context initContext = new InitialContext();
    Context envContext = (Context)initContext.lookup("java:/comp/env");
    ds = (DataSource) envContext.lookup(DATASOURCE_NAME);
  }

  public static Connection getConnection() throws SQLException{
    Connection conn = ds.getConnection();
    return conn;
  }
}

Жду ваших комментариев.

пул соединений tomcat имеет параметр maxActive и параметр maxIdle мои вопросы.

  1. в чем разница между этими двумя параметрами?
  2. что такое сценарий реального мира, где вы можете иметь другое значение для maxActive, чем для maxIdle?

по какой-то причине документы не имеют смысла для меня. maxActive и maxIdle существуют как в dbcp apache, так и в JDBC-пуле tomact 7 согласно документам на
http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

maxActive (int) максимальное количество активных соединений, которые могут быть
выделено из этого пула одновременно. Значение по умолчанию-100

maxIdle (int) максимальное количество соединений, которые должны быть сохранены
в бассейне все время. Значение по умолчанию maxActive: 100 Idle
соединения проверяются периодически (если включено) и соединения, которые
бездействовал дольше minEvictableIdleTimeMillis выйдет.
(Также см. testWhileIdle)

3 ответов


maxActive прямо вперед. maxIdle можно объяснить таким образом-скажем, у вас есть 100 активных соединений max и, скажем, вы установили maxIdle на 80. Предполагая, что в базу данных нет запросов, будут протестированы только 80 соединений (через validationquery) и останутся активными. Остальные 20 будут закрыты. Поэтому в любой момент Вы можете иметь только 80 неактивных соединений.
Возможно, вы захотите установить другой номер, чтобы предотвратить дополнительные (ненужные) соединения, выходящие на база данных. Потому что каждое соединение, обслуживаемое базой данных, потребляет ресурсы (например, память).
Но, предполагая, что вы установили maxActive размер 100 и все 100 используются почти все время, эта настройка, очевидно, не имеет значения.


maxActive

the maximum number of active connections that can be allocated from this pool at the same time.  

этот атрибут используется для ограничения количества соединений, которые могут быть открыты пулом.

maxIdle

(int) The maximum number of connections that should be kept in the pool **at all times.** 

это для ограничения простоя соединений. Соединения (не больше значения maxIdle) не будут освобождены, так что следующий запрос на соединения будет намного быстрее.

Итак, в слове, maxActive-ограничить максимальное число подключений.

но простоя(maxIdle или minIdle) для исполнения проблема (время обмена с пространством / ресурсами), среди которых maxIdle должен ограничить максимальные соединения(ресурсы), с которыми вы собираетесь обмениваться временем.


в небольших средах подключения к базам данных не являются проблемой, потому что их не так много, а ресурсы сервера почти не повреждены. В больших средах количество подключений к базе данных потребляет много ресурсов, поэтому вам нужно оптимизировать способ управления подключениями к базе данных, используя меньшее возможное количество подключений, что даст вам лучшую производительность. На этом этапе maxActive устанавливает максимальное количество подключений, которые могут быть сделаны к базе данных пул, ограничивающий ресурсы, назначенные инициатору запроса. С maxIdle вы указываете, что, если соединение «простаивает», оно будет закрыто, если нет минимальных соединений «maxIdle». Почему не менее maxIdle?, потому что вам нужны некоторые соединения, готовые для следующих запросов к базе данных, поэтому вам не нужно открывать и закрывать снова так много соединений, если пул должен быть заполнен, поэтому вы освобождаете много ресурсов.


Problem

Confluence frequently crashes under heavy load when using a JNDI connector and the Tomcat 8 connection pool

The following appears in the atlassian-confluence.log

atlassian-confluence.log

2015-11-24 15:38:32,626 ERROR [ContainerBackgroundProcessor[StandardEngine[Standalone]]] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Cannot get a connection, general error
2015-11-24 15:39:20,591 WARN [localhost-startStop-1] [tomcat.dbcp.dbcp2.BasicDataSourceFactory] log Name = confluence Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "15" for "maxActive" property, which is being ignored.

Diagnosis

Environment

  • Confluence 5.8 or above
  • Tomcat 8 or above
  • JNDI connection is being used in server.xml with maxActive

    <Resource name="jdbc/confluence" auth="Container" type="javax.sql.DataSource"
    ...
            maxActive="30"
    ...
    />

Cause

In Tomcat 8 the syntax for the connection pool has changed from using MaxActive to MaxTotal and the default value is 8. This can cause database connection issues.

Resolution

In conf/server.xml change maxActive to maxTotal

<Resource name="jdbc/confluence" auth="Container" type="javax.sql.DataSource"
...
        maxTotal="30"
...
/>

See Configuring a MySQL Datasource in Apache Tomcat for an example.

Last modified on Nov 2, 2018

Related content

  • No related content found

Hi @trask, I can see two types of debug logs
-> available jmx metrics
-> newly available JMX metrics since the last output

INFO c.m.a.a.i.p.AvailableJmxMetricLogger — available jmx metrics: don’t have any object name reaalted to connection pool

but after some time I can see newly available JMX Metrics which contains connection pool object as you can see below

`_2022-05-06 05:50:19.824Z INFO c.m.a.a.i.p.AvailableJmxMetricLogger — newly available jmx metrics since last output:

  • object name: Catalina:j2eeType=Servlet,WebModule=//localhost/mono,name= ,J2EEApplication=none,J2EEServer=none
    attributes: asyncSupported (boolean), available (number), backgroundProcessorDelay (number), classLoadTime (number), countAllocated (number), errorCount (number), loadOnStartup (number), loadTime (number), maxInstances (number), maxTime (number), minTime (number), modelerType (string), objectName (string), processingTime (number), requestCount (number), runAs (other), servletClass (string), singleThreadModel (boolean), stateName (string)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[0]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[1]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: Catalina:type=Valve,host=localhost,context=/mono,name=StandardContextValve
    attributes: asyncSupported (boolean), className (string), modelerType (string), stateName (string)
  • object name: Catalina:type=DataSource,host=localhost,context=/mono,class=javax.sql.DataSource,name=»jdbc/catalystone»
    attributes: abandonWhenPercentageFull (number), accessToUnderlyingConnectionAllowed (boolean), active (number), alternateUsernameAllowed (boolean), borrowedCount (number), className (string), commitOnReturn (boolean), connectionProperties (other), createdCount (number), dataSource (other), dataSourceJNDI (other), defaultAutoCommit (boolean), defaultCatalog (other), defaultReadOnly (other), defaultTransactionIsolation (number), driverClassName (string), fairQueue (boolean), idle (number), ignoreExceptionOnPreLoad (boolean), initSQL (other), initialSize (number), jdbcInterceptors (string), jmxEnabled (boolean), logAbandoned (boolean), logValidationErrors (boolean), loginTimeout (number), maxActive (number), maxAge (number), maxIdle (number), maxWait (number), minEvictableIdleTimeMillis (number), minIdle (number), modelerType (string), name (string), numActive (number), numIdle (number), numTestsPerEvictionRun (number), password (string), poolSweeperEnabled (boolean), propagateInterruptState (boolean), reconnectedCount (number), releasedCount (number), releasedIdleCount (number), removeAbandoned (boolean), removeAbandonedCount (number), removeAbandonedTimeout (number), returnedCount (number), rollbackOnReturn (boolean), size (number), suspectTimeout (number), testOnBorrow (boolean), testOnConnect (boolean), testOnReturn (boolean), testWhileIdle (boolean), timeBetweenEvictionRunsMillis (number), url (string), useDisposableConnectionFacade (boolean), useEquals (boolean), useLock (boolean), useStatementFacade (boolean), username (string), validationInterval (number), validationQuery (string), validationQueryTimeout (number), validatorClassName (other), waitCount (number)
  • object name: Catalina:type=Valve,host=localhost,context=/mono,name=NonLoginAuthenticator
    attributes: cache (boolean), changeSessionIdOnAuthentication (boolean), className (string), disableProxyCaching (boolean), modelerType (string), securePagesWithPragma (boolean), stateName (string)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource
    attributes: AbandonWhenPercentageFull (number), AccessToUnderlyingConnectionAllowed (boolean), Active (number), AlternateUsernameAllowed (boolean), BorrowedCount (number), CommitOnReturn (boolean), ConnectionProperties (other), CreatedCount (number), DataSource (other), DataSourceJNDI (other), DbProperties (other), DefaultAutoCommit (boolean), DefaultCatalog (other), DefaultReadOnly (other), DefaultTransactionIsolation (number), DriverClassName (string), FairQueue (boolean), Idle (number), IgnoreExceptionOnPreLoad (boolean), InitSQL (other), InitialSize (number), JdbcInterceptors (string), JdbcInterceptorsAsArray (other), JmxEnabled (boolean), LogAbandoned (boolean), LogValidationErrors (boolean), MaxActive (number), MaxAge (number), MaxIdle (number), MaxWait (number), MinEvictableIdleTimeMillis (number), MinIdle (number), Name (string), NumActive (number), NumIdle (number), NumTestsPerEvictionRun (number), Password (string), PoolName (string), PoolSweeperEnabled (boolean), PropagateInterruptState (boolean), ReconnectedCount (number), ReleasedCount (number), ReleasedIdleCount (number), RemoveAbandoned (boolean), RemoveAbandonedCount (number), RemoveAbandonedTimeout (number), ReturnedCount (number), RollbackOnReturn (boolean), Size (number), SuspectTimeout (number), TestOnBorrow (boolean), TestOnConnect (boolean), TestOnReturn (boolean), TestWhileIdle (boolean), TimeBetweenEvictionRunsMillis (number), Url (string), UseDisposableConnectionFacade (boolean), UseEquals (boolean), UseLock (boolean), UseStatementFacade (boolean), Username (string), ValidationInterval (number), ValidationQuery (string), ValidationQueryTimeout (number), Validator (other), ValidatorClassName (other), WaitCount (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[4]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[5]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[2]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[3]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[6]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[7]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
    2022-05-06T05:50:19.825812595Z`

after sometime I can also see a debug log saying no longer available jmx metrics since last output as below

`2022-05-06 05:51:18.023Z INFO c.m.a.a.i.p.AvailableJmxMetricLogger — no longer available jmx metrics since last output:

  • object name: Catalina:j2eeType=Servlet,WebModule=//localhost/mono,name=local_default,J2EEApplication=none,J2EEServer=none
    attributes: singleThreadModel (other)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[5]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[2]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)
  • object name: Catalina:j2eeType=Servlet,WebModule=//localhost/mono,name=default,J2EEApplication=none,J2EEServer=none
    attributes: singleThreadModel (other)
  • object name: tomcat.jdbc:name=»jdbc/catalystone»,context=/mono,engine=Catalina,type=ConnectionPool,host=localhost,class=org.apache.tomcat.jdbc.pool.DataSource,connections=PooledConnection[6]
    attributes: AutoCommit (boolean), Catalog (string), Closed (boolean), ConnectionVersion (number), Discarded (boolean), Holdability (number), Initialized (boolean), LastConnected (number), LastValidated (number), MaxAgeExpired (boolean), ReadOnly (boolean), Released (boolean), Schema (string), Suspect (boolean), Timestamp (number), TransactionIsolation (number)_
    `

Maybe this can help you to understand and suggest something. :)

Понравилась статья? Поделить с друзьями:
  • Error database postgres already exists
  • Error database or disk is full
  • Error database is uninitialized and superuser password is not specified docker
  • Error database is mandatory on usermailbox
  • Error database driver unknown driver postgres forgotten import