Uploaded image for project: 'TomEE'
  1. TomEE
  2. TOMEE-171

TomEE automatically directs embedded (@DataSourceDefinition) h2 datasource to hsqldb

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.0-beta-2
    • 1.5.0
    • 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?

      Attachments

        1. crudh2_eclipseproject.zip
          1.16 MB
          Henk de Boer

        Activity

          People

            Unassigned Unassigned
            henkdeboer Henk de Boer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: