[ 
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

        

Reply via email to