[
https://issues.apache.org/jira/browse/TOMEE-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13264428#comment-13264428
]
Henk de Boer commented on TOMEE-171:
------------------------------------
Thanks for your opinion, I appreciate it.
Item 1) is indeed a fiercely debated item. Some people want to keep database
configuration external others want to be able to ship self-contained wars. In
that debate, a data-source in web.xml isn't really different from
META-INF/context.xml (and from JBoss' *-ds.xml, and from oracle-jdbc.xml, etc
etc). It's exactly like those, but just with standardized syntax.
When writing applications that already contain their own embedded DB (derby,
h2, etc) it's rather clear that their configuration should be embedded as well.
However, for regular databases, it also makes sense when deploying to a small
amount of internal application servers, especially when deployment descriptors
are configurable with placeholders (as might happen for Java EE 7).
Thanks again for looking into this. If there's anything else I can test, let me
know.
> 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