[
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