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

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

{quote}For the property: i know it is in the annotation so i guess it is in the 
xml (didnt check){quote}

They should mirror each other exactly, so this should be the case. However, if 
it's in the properties section it is a vendor specific setting (in this case 
thus TomEE specific). See 
http://docs.oracle.com/javaee/6/api/javax/annotation/sql/DataSourceDefinition.html

That's already a bit better than a vendor specific configuration file, but 
since this concerns a fairly basic setting I would say it's not exactly in the 
spirit of the spec to require for this for the JDBC driver. It would be like 
vendors requiring the "data-source" in persistence.xml to be in the properties 
section.

{quote}Moreover we use commons dbcp and that's mandatory {quote}

Are you specifically referring to BasicDataSource 
(http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html)?

Long time ago I looked at it, but if I remember correctly it should be rather 
trivial to wrap an instance of the DataSource class in a Driver. Additionally, 
for its XA functionality even Commons DBCP uses a DataSource and not a Driver 
(see 
http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/managed/DataSourceXAConnectionFactory.html).

                
> 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