tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Gallimore <jonathan.gallim...@gmail.com>
Subject Re: datasource duplication in tomee
Date Fri, 11 Aug 2017 11:03:13 GMT
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.
>

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