tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Cornett <adam.corn...@gmail.com>
Subject Re: Get JDBC pool capacity
Date Fri, 28 Oct 2016 19:14:32 GMT
Perhaps, my datasources are defined at the container level
(conf/tomee.xml). Perhaps the app level data sources are not registered in
JMX.
Romain or another dev would need to speak to that.

On Fri, Oct 28, 2016 at 2:29 PM, Zachary Bedell <zbedell@nycourts.gov>
wrote:

> Yes to TomEE 7.0.1, but I don't see a datasources entry under
> openejb.management in jconsole.  I've got Invocations, JAX-RS, JAX-WS,
> Pool, TransactionManager, and containers.
>
> Guessing maybe the way I define the datasources may be relevant?  They're
> in a resources.xml file inside an EAR.  Defined like:
>
>   <Resource id="ucmsTXPool" type="DataSource">
>     JdbcDriver oracle.jdbc.xa.client.OracleXADataSource
>     JdbcUrl ${ucmsTXPool.JdbcUrl}
>     User ${ucmsTXPool.User}
>     UserName ${ucmsTXPool.User}
>     VaultPassword ${ucmsTXPool.Password}
>     InitialSize ${ucmsTXPool.InitialSize}
>     MaxActive ${ucmsTXPool.MaxActive}
>     MaxIdle 10
>     MaxWait 15000
>     ValidationQuery "SELECT sysdate FROM DUAL"
>     TestOnBorrow true
>     TestOnReturn true
>     TestWhileIdle true
>     TimeBetweenEvictionRunsMillis 60000
>     AccessToUnderlyingConnectionAllowed true
>     JtaManaged true
>   </Resource>
>
> The ${...} are loaded from a config repository via a Listener in
> server.xml.  The VaultPassword is handled via custom PasswordCipher
> registered via META-INF/org.apache.openejb.cipher.PasswordCipher in a jar
> in server/lib.
>
> -Zac
>
> > On Oct 28, 2016, at 14:09, Adam Cornett <adam.cornett@gmail.com> wrote:
> >
> > Sure:
> > openejb.management/datasources/[DSNAME] should have attributes such as:
> > Size, Idle, WaitCount, etc.
> >
> > There should be an object for each datasource defined in your tomee.xml
> > file.  I'm assuming you're on TomEE 7?
> >
> > On Fri, Oct 28, 2016 at 2:03 PM, Zachary Bedell <zbedell@nycourts.gov>
> > wrote:
> >
> >> Adam, your image didn't come through the list, at least for me.  Can you
> >> give me a textual path to where you're looking?
> >>
> >>
> >> The only thing listed as openejb under mbeans is "openejb.management."
> >> There's nothing under there that matches the names of any of my pools.
> The
> >> only matches for "datasource" I see are the containers for the
> stateless,
> >> stateful, singleton, and managed beans.  The only pool related stuff I
> see
> >> under there is for the EJB instances.
> >>
> >> I see an "Active" attribute under the TransactionManager, but that's not
> >> per-pool, and I'm not sure that it represents all of the JDBC
> connections
> >> as opposed to an EJB container transaction.  We'd have EJB's that are
> set
> >> @TransactionAttribute(NOT_SUPPORTED) as well as single transactions
> that
> >> touch several connection pools (XA), so active transactions from the
> >> container's point of view isn't granular enough to know if one of the
> pools
> >> is running low.
> >>
> >> -Zac
> >>
> >>
> >>
> >>
> >> On Oct 28, 2016, at 13:30, Adam Cornett <adam.cornett@gmail.com<mailto:
> >> adam.cornett@gmail.com>> wrote:
> >>
> >> Here is a screenshot out of jconsole showing the location and
> attributes:
> >>
> >>
> >> On Fri, Oct 28, 2016 at 1:21 PM, Romain Manni-Bucau <
> rmannibucau@gmail.com
> >> <mailto:rmannibucau@gmail.com>> wrote:
> >> Hi Zachary,
> >>
> >> 2016-10-28 19:18 GMT+02:00 Zachary Bedell <zbedell@nycourts.gov<mailto:
> z
> >> bedell@nycourts.gov>>:
> >>
> >>> Good afternoon,
> >>>
> >>> I'm working on a monitoring agent for TomEE to plugin to an in-house
> >>> package we use.  One of the most common failures in our current app
> >> server
> >>> (JBoss) usually manifests as expended JDBC connection pools, so we
> alert
> >> as
> >>> pools approach full to get some kind of warning of impending doom when
> >> the
> >>> database can't keep up.
> >>>
> >>> I need to get a handle on TomEE's datasource pools to check their
> maximum
> >>> size & current active connection count programatically.  I've tried
> >>> searching through both JMX (how we do it in JBoss) and the JNDI tree.
> I
> >>> can find the javax.sql.DataSource in both trees as well as a reference
> to
> >>> org.apache.openejb.resource.jdbc.DataSourceFactory in JMX.  It doesn't
> >>> appear any of the objects I've been able to find expose a count of
> active
> >>> connections nor what the configured maximum is.
> >>>
> >>>
> >> in openejb MBeans it should be there
> >>
> >>
> >>> Is there a way to get the count of active connections & the configured
> >> max
> >>> for a named connection pool (I can find the names via JMX or JNDI) or
> for
> >>> all connection pools?
> >>>
> >>
> >>
> >>> Thanks in advance,
> >>> Zac Bedell
> >>>
> >>>
> >>
> >>
> >>
> >> --
> >> Adam Cornett
> >> adam.cornett@gmail.com<mailto:adam.cornett@gmail.com>
> >> (678) 296-1150
> >>
> >>
> >
> >
> > --
> > Adam Cornett
> > adam.cornett@gmail.com
> > (678) 296-1150
>
>


-- 
Adam Cornett
adam.cornett@gmail.com
(678) 296-1150

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message