[ 
https://issues.apache.org/jira/browse/TOMEE-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13270066#comment-13270066
 ] 

Henk de Boer commented on TOMEE-171:
------------------------------------

{quote}in tomee we add the app name before the datasource name in jndi that's 
why you need to add it in your persistence.xml (but that's not mandatory 
injecting the datasource normally) {quote}

That might be the issue. Indeed, many of the proprietary xml files for many 
servers have something like this. E.g. specify datasource FooDS in WebLogic's 
*-jdbc.xml as JNDI name, and you'll have to reference it by java:app/FooDS.

Nevertheless, for the name in @DataSourceDefinition and web.xml, it seems to be 
agreed that if you ask for java:app/MyApp/myDS, that you can refer to it via 
exactly that; java:app/MyApp/myDS. In EE.5.17 the Java EE 6 spec gives an 
example using exactly this scope. The other servers that I tested (JBoss AS 
7.1.1, GlassFish 3.1.2, WebLogic 12c) all do follow this.

{quote}trunk should manage it more correctly{quote}

Looking forward again to testing that, will a snap shot of this be made soon? 
Otherwise I can try building trunk from source. Thanks again for your efforts!

                
> TomEE automatically directs embedded (@DataSourceDefinition) h2 datasource to 
> hsqldb
> ------------------------------------------------------------------------------------
>
>                 Key: TOMEE-171
>                 URL: https://issues.apache.org/jira/browse/TOMEE-171
>             Project: TomEE
>          Issue Type: Bug
>    Affects Versions: 1.0.0-beta-2
>         Environment: Mac OS X 10.6.8, JDK6u31, h2 1.3.161
>            Reporter: Henk de Boer
>         Attachments: crudh2_eclipseproject.zip
>
>
> When trying to run an example CRUD application for Java EE 6 (see 
> http://henk53.wordpress.com/2012/04/15/jsf2-primefaces3-ejb3-jpa2-integration-project)
>  on TomEE beta 2, I noticed that the logs and data for the embedded h2 
> datasource end up as hsqldb equivalents in [TOMEE HOME]/data/hsqldb/.
> The datasource definition in web.xml is as follows:
> {code:xml}
>       <data-source>
>               <name>java:app/MyApp/myDS</name>
>               <class-name>org.h2.jdbcx.JdbcDataSource</class-name>
>               <url>jdbc:h2:~/mydb;DB_CLOSE_DELAY=-1</url>
>               <user>sa</user>
>               <password>sa</password>
>               <transactional>true</transactional>
>               <isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
>               <initial-pool-size>2</initial-pool-size>
>               <max-pool-size>10</max-pool-size>
>               <min-pool-size>5</min-pool-size>
>               <max-statements>0</max-statements>
>       </data-source>
> {code}
> So clearly it should be using h2, and the DB should be created in my home as 
> {{mydb}}. When I remove the h2 implementation jar from WEB-INF/lib, TomEE 
> does complain, so it does try to do something with h2 for sure. Inspecting 
> the log reveals it really are hsqldb log lines and not h2.
> What's happening here? Why is TomEE silently swapping one DB for the other?
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to