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: datasource duplication in tomee
Date Fri, 11 Aug 2017 10:28:44 GMT
Hi

few things to check:

1. does psiprobe say if that's the same instances or not? JMX should give
you the information I think since it will only list root resources
2. why not using tomee.xml or reosurces.xml to define the datasources -
this is the recommanded way?


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>

2017-08-10 17:22 GMT+02:00 dmcletchie <dmcletchie@gmail.com>:

> Hi,
>
> I'm kind of new to TomEE & App servers in general.  I Apologize in advance
> if I use some incorrect terminology.
>
> I have set up a web application that connects to a database.
> To connect to the database, I'm defining a resource in a context.xml file.
> I'm not modifying server.xml.
> I'm using the PSI-probe to manage/monitor things.
>
> My problem is that I keep getting duplicate database connection pools.  Or,
> I think that I'm getting duplicate pools.
> The probe app seems to list 3 Application Resources. but I think that 2 of
> them might be linked  I can see some logging around the linking. (I see
> lines with "Auto-linking resource-ref" in the log file)
>
> To tried to divide & conquor, I think that narrowed it down to my
> context.xml.  I created a hello world web app, that has 2 files.  One file
> extends javax.ws.rs.core.Application, and the other file has a single
> jax.ws.rs resource with a single hello world method in it.  So, the app
> doesn't use the database.  it just has 1 method with a one line "hello
> world" method.
>
> Then I created a context file, that looks like this:
> <?xml version="1.0" encoding="UTF-8"?>
> <Context>
> <Resource name="jdbc/foobar"
>   jtaManaged="true"
> auth="Container"
> type="javax.sql.DataSource"
> driverClassName="oracle.jdbc.OracleDriver"
>             url="jdbc:oracle:thin:@HHHHHHHH:1521:ORCL"
>             username="XXXXXXXXX"
>             password="ZZZZZZZZZZZ"
>             maxTotal="10"
>             maxIdle="5"
>             minIdle="0"
>             initialSize="2"
>             maxWaitMillis="1"
>             />
> </Context>
> and put it in META-INF
>
> I grabbed a clean download of apache-tomee-7.0.3-plus, so that the config
> files are all at their default.
> I added by helloworld.jar.  I added the probe.war, for management.  I added
> ojdbc8.jar to the libs directory.
> I modified tomcat-users.xml so that I could log into the manager & the
> probe app.
>
> When Tomee is not running, and I look at my database, there are no session
> from my development machine.  When I start the app, there are 4
> connections.  (initial size is 2, I have 4 connections, so I think that I
> have 2 dbcp pools).
>
> If I increase my initialSize to 3 & restart the app, then I can see in the
> database that I have 6 sessions.  (It is an oracle database, so I can see
> the connections with the command "select count(*) from v$session where
> machine = 'developmentmachine';")
>
> When I look in the probe, I can see 3 application resources:
>
> APP              RESOURCE                                 USAGE   M   E   B
>   USER      URL                                  DESCRIPTION   TYPE
>  LNK   AUTH
> /helloWorld openejb/Resource/jdbc/foobar                     10  2   0
> XXXXXXXXX jdbc:oracle:thin:@HHHHHHHH:1521:ORCL               tomcat-dbcp2
>      CONTAINER
> /helloWorld jdbc/foobar                                      10  2   0
> XXXXXXXXX jdbc:oracle:thin:@HHHHHHHH:1521:ORCL               tomcat-dbcp2
>      Container
> /helloWorld openejb/Resource/helloWorld/jdbc/foobar          10  2   0
> XXXXXXXXX jdbc:oracle:thin:@HHHHHHHH:1521:ORCL               tomcat-dbcp2
>      CONTAINER
>
> the "E" column is "the number of established connections that can be
> reused".  so, it's reporting 6 (2 for each resource) but I think that I
> have 4, since that's what the database tells me.  The AUTH column isn't
> exactly the same, 2 are "CONTAINER" and 1 is "Container".  so maybe that's
> a clue to the linking?
>
> So - I'm hoping that since this is such a minimal config, someone can tell
> me what I'm doing wrong.  Do I really have 2 different dbcp pools?  or do I
> have 1 or 3?  Why is the number of session in the database always double
> the initialSize number, even though my app is never using the database.
>
> I'll attach the snippet of the log file.  The logging is all at the
> defaults, since I just grabbed this install.  I can repeat it with
> additional logging if that would help.
>
> Thanks!
>
> Doug
>
>
> catalina.log.txt (14K) <http://tomee-openejb.979440.
> n4.nabble.com/attachment/4682413/0/catalina.log.txt>
>
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.
> n4.nabble.com/datasource-duplication-in-tomee-tp4682413.html
> Sent from the TomEE Users mailing list archive at Nabble.com.

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