Hi this is due to https://issues.apache.org/jira/browse/TOMEE-1888
if we wrap by default, singleton (scope of context.xml) can have 2 instances so default is aligned on tomcat to respect it updated doc at http://tomee.apache.org/admin/configuration/server.html 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> 2016-12-24 14:56 GMT+01:00 Sanjay Prasad <[email protected]>: > Hi guys, > I shifted a few applications from tomee-plume 1.7.4 to 7.0.2 and > the context.xml (in webapp's META-INF) resources stopped working as it used > to. The persistence mappings were found to be not JTA managed and tomee was > allocating hsql entries for them and causing issues. I tried moving the > resources to resources.xml and then naming lookups under > java:/comp/env/jdbc stopped working. I can get it all to work by specifying > the same resources in context.xml and resources.xml at the same time and > that does not look right. > > Looking at the code, I figured that the JTA managed flag was reported > as missing because the resource properties, when loaded from context.xml, > was getting loaded as a "reference". > > From context.xml > ------------------------ > {jndiName=jdbc/K11WriteDb, appName=localhost/k11, factory=null, > reference=ResourceRef[className=javax.sql.DataSource,factory > ClassLocation=null,factoryClassName=org.apache.naming. > factory.ResourceFactory,{type=scope,content=Shareable},{ > type=auth,content=Container},{type=singleton,content=true},{ > type=password,content=test},{type=maxIdle,content=10},{ > type=validationQuery,content=select 1},{type=JtaManaged,content=tr > ue},{type=driverClassName,content=org.postgresql.Driver},{ > type=maxWait,content=10000},{type=url,content=jdbc:postgres > ql://localhost:5432/k11?targetServerType=master},{type > =maxActive,content=100},{type=username,content=k11}], > OriginalId=jdbc/K11WriteDb} > > From resources.xml > -------------------------- > {JtaManaged=true, JdbcDriver=org.postgresql.Driver, > JdbcUrl=jdbc:postgresql://localhost:5432/k11?targetServerType=master, > UserName=k11, Password=test, PasswordCipher=PlainText, > OpenEJBResourceClasspath=false, maxIdle=10, validationQuery=select 1, > maxWait=10000, maxActive=100} > > I saw this flag, tomee.tomcat.datasource.wrap, in > TomcatWebAppBuilder.java that could force the loading of context.xml > resources in the resources.xml format (force datasource wrapping). Setting > this flag to true in system.properties file seems to make things work as > before (in tomee 1.7.4) without making any changes to my wars. > > As I see no documentation regarding this flag, I am not sure if I am > supposed to use this and whether using this will have other side effects. > Can someone please confirm that it is ok to use this flag ? > > -Regards > -SP > > "Disclaimer: This message is being sent from Kalki Communication > Technologies > Pvt Ltd (KALKITECH). and may contain information which is confidential or > privileged. If you are not the intended recipient, please advise the sender > immediately by reply e-mail and delete this message and any attachments > without retaining a copy. Any unauthorized use of the content of this > message > can expose the responsible party to civil and/or criminal penalties, > and may constitute a more serious offense. Further the company does not > accept > liability for any errors, omissions, viruses or computer problems > experienced as a result of this transmission. If you have received this > message in error, notice is hereby given that no representation, contract > or > other binding obligation shall be created by this e-mail."
