2016-07-26 20:43 GMT+02:00 Edoardo Panfili <[email protected]>: > Thank you for you propt response, > > Il 26/07/16 20:24, Romain Manni-Bucau ha scritto: > >> Hi Edoardo, >> >> >> The "unusedProperty" is logged by tomee saying the setter doesn't exist >> and >> therefore the setting is just ignored. >> > Yes, the proble is that I'd like to use that property. > >> >> The "is not used in DBCP2" comes from >> tomcat org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory (tomcat-dbcp) >> which is a dbcp bridge between tomcat config and their shade. >> >> Issue is tomee will wrap the tomcat resources - originally to add tomee >> features on tomcat defined datasources but since we upgraded to tomcat 8 >> not sure it makes much sense anymore - and uses tomee factory (to allow >> you >> to get jta support, sql logging etc...) once the webapp is deployed but >> will also ensure resources are available before the webapp is deployed to >> make it available to startup events/beans. In other words you can end up >> using both kind of resources. >> >> The workaround is to not use singleton as resource for the datasource (but >> means it will create one instance per lookup) since the boot will not >> eagerly create the datasource the tomcat way and then you just have the >> tomee factory to configure. >> > How to do that? One instance of datasource every time I use > Context.lookup()?
singleton="false" I think Object ds1 = lookup(); Object ds2 = lookup(); and you will get ds1 != ds2 where singleton=true will make it equals. > > > >> The easiest fix - and recommanded - is to use resources.xml or even >> (better) tomee.xml to configure it. >> > > I did I try also with resources.xml (I prefer to keep configuration inside > the webapp if possible) > but I got some problems with timeBetweenEvictionRuns (no problems during > startup but > if I build an application that doen't closes connections nothing happens). > I will work more on that. > timeBetweenEvictionRunsMillis I think is the one to use - TIP: check it using JMX ;) > > thank you again > Edoardo > > >> >> Side note: created https://issues.apache.org/jira/browse/TOMEE-1888 to >> track it and to try to ensure default is to use tomcat datasource and not >> recreate it if possible when set up this way >> >> >> Romain Manni-Bucau >> @rmannibucau <https://twitter.com/rmannibucau> | Blog >> <https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog >> <http://rmannibucau.wordpress.com> | Github < >> https://github.com/rmannibucau> | >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber >> <http://www.tomitribe.com> | JavaEE Factory >> <https://javaeefactory-rmannibucau.rhcloud.com> >> >> >> 2016-07-26 19:48 GMT+02:00 Edoardo Panfili <[email protected]>: >> >> I am trying to configure a datasource with TomEE+ 7.0.1 >>> >>> this is my context.xml: >>> >>> <Context path="/ReST"> >>> <Resource name="jdbc/test1" auth="Container" >>> type="javax.sql.DataSource" >>> initialSize="4" maxActive="8" maxIdle="5" minIdle="3" >>> maxWait="300" >>> username="testuser" password="testpassword" >>> driverClassName="org.postgresql.Driver" >>> url="jdbc:postgresql://127.0.0.1:5432/testdb" >>> removeAbandoned="true" removeAbandonedTimeout="300" >>> logAbandoned="true" >>> /> >>> </Context> >>> >>> >>> during startup I can see only these warnings in catalina.out: >>> --------------------------------------------- >>> WARNING - Name = test1 Property maxActive is not used in DBCP2, use >>> maxTotal instead. maxTotal default value is 8. You have set value of "8" >>> for "maxActive" property, which is being ignored. >>> WARNING - Name = test1 Property removeAbandoned is not used in DBCP2, use >>> one or both of removeAbandonedOnBorrow or removeAbandonedOnMaintenance >>> instead. Both have default value set to false. You have set value of >>> "true" >>> for "removeAbandoned" property, which is being ignored. >>> WARNING - Name = test1 Property maxWait is not used in DBCP2 , use >>> maxWaitMillis instead. maxWaitMillis default value is -1. You have set >>> value of "300" for "maxWait" property, which is being ignored. >>> --------------------------------------------- >>> >>> >>> Then I change my context.xml to: >>> >>> <Context path="/ReST"> >>> <Resource name="jdbc/test1" auth="Container" >>> type="javax.sql.DataSource" >>> initialSize="4" maxTotal="8" maxIdle="5" minIdle="3" >>> maxWaitMillis="30000" >>> username="testuser" password="testpassword" >>> driverClassName="org.postgresql.Driver" >>> url="jdbc:postgresql://127.0.0.1:5432/testdb" >>> removeAbandonedOnBorrow="true" removeAbandonedTimeout="300" >>> logAbandoned="true" >>> /> >>> </Context> >>> >>> but there are new warnings in catalina.out >>> --------------------------------------------- >>> WARNING - unusedProperty maxTotal - ReST/jdbc/test1 >>> WARNING - unusedProperty removeAbandonedOnBorrow - ReST/jdbc/test1 >>> WARNING - unusedProperty maxWaitMillis - ReST/jdbc/test1 >>> --------------------------------------------- >>> >>> What I am doing wrong? In $tomee/lib/ I can see dbcp and dbcp2 jars which >>> one is used? >>> >>> >>> Thank you >>> >>> Edoardo >>> >>> >>> >
