Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.0-beta-2
-
None
-
None
-
Mac OS X 10.6.8, JDK6u31, h2 1.3.161
Description
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:
<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>
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?