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 <[email protected]> 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 <[email protected]>
> 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 <[email protected]<mailto:
>> [email protected]>> 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 <[email protected]
>> <mailto:[email protected]>> wrote:
>> Hi Zachary,
>>
>> 2016-10-28 19:18 GMT+02:00 Zachary Bedell <[email protected]<mailto:z
>> [email protected]>>:
>>
>>> 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
>> [email protected]<mailto:[email protected]>
>> (678) 296-1150
>>
>>
>
>
> --
> Adam Cornett
> [email protected]
> (678) 296-1150