tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <rmannibu...@gmail.com>
Subject Re: Get JDBC pool capacity
Date Fri, 28 Oct 2016 19:28:17 GMT
they are, name is just prefixed with app name


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2016-10-28 21:14 GMT+02:00 Adam Cornett <adam.cornett@gmail.com>:

> 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