[
https://issues.apache.org/jira/browse/TOMEE-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269906#comment-13269906
]
Henk de Boer commented on TOMEE-171:
------------------------------------
With beta 3 we're one step further as injection is working again, but
unfortunately persistence is still being done in the hsqldb,.
I deployed the CRUD app to TomEE and persisted two users. Afterwards the [tomee
home]/hsqldb/hsqldb.log contained the followed content:
/*C2*/SET SCHEMA PUBLIC
DISCONNECT
/*C4*/SET SCHEMA PUBLIC
DISCONNECT
/*C5*/SET SCHEMA PUBLIC
CREATE TABLE User (id INTEGER NOT NULL, name VARCHAR(255), surname
VARCHAR(255), PRIMARY KEY (id))
/*C3*/SET SCHEMA PUBLIC
INSERT INTO USER VALUES(0,'ddddddd','ffffffff')
COMMIT
INSERT INTO USER VALUES(1,'ddddddd','gggggg')
COMMIT
So it seems it's still using the default hsqldb and not the h2 DB that I
defined in web.xml. The exact TomEE download I tried is
https://repository.apache.org/content/repositories/snapshots/org/apache/openejb/apache-tomee/1.0.0-beta-3-SNAPSHOT/apache-tomee-1.0.0-beta-3-20120506.041222-119-plus.tar.gz
I tried with both h2 on disk (jdbc:h2:~/mydb;DB_CLOSE_DELAY=-1) and in-memory
(jdbc:h2:mem:test;DB_CLOSE_DELAY=-1). In case of the on-disk version, there is
nothing at all being created in my home (no locks, logs, nothing) which seems
to be indicative of h2 not even being touched.
> 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