Can you pop your sample app somewhere (as a GitHub project, maybe)? Happy
to deploy it and take a look here.
Jon
On Fri, Aug 11, 2017 at 11:28 AM, Romain Manni-Bucau <rmannibucau@gmail.com>
wrote:
> 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.
>
|