2 Replies Latest reply on Jul 18, 2007 3:16 PM by Noah White

    SEAM JEE5 Example w/MySQL Question

    Noah White Newbie


      My setup looks like this:

      * Sun Java System Application Server 9.1 (build b41d-beta2) [GlassFish V2 beta2]
      * Seam 2.0.0 beta 1
      * MySQL 5.0.45
      * MySQL Connector/J 5.0.6

      I successfully built and deployed the included JEE5 example application, after some minor tweaks to the web.xml, thanks to a previous post I found in this forum. This deployed using the bundled Derby db and persistence.xml configuration.

      I am now trying to get it to run using MySQL instead but when I deploy the EAR I am not seeing the tables automatically created in the new db.

      Prior to deployment under this environment I did the following steps:

      Undeployed old app

      Stopped SAS

      Dropped in the mysql connector J jar into the SAS lib dir

      Started default SAS domain

      Created a new user, mysqltestuser, and a new database called mysqldatabasetest in MySQL.

      Using the SAS AdminConsole:

      Set up a MySQL connection pool using the com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource data source class name and the javax.sql.ConnectionPoolDataSource Resource Type. I pointed things at a new database using the new user and password and I am able to 'ping' the connection using the SAS Ping button.

      Set up a JDBC Resource, jdbc/__mysqltest using the above pool.

      Changed the persistence.xml file and pointed jta-data-source from jdbc/__default to jdbc/__mysqltest and changed the value of hibernate.dialect to org.hibernate.dialect.MySQL5InnoDBDialect

      ant clean
      ant glassfish

      Using SAS AdminConsole deployed new ear file

      Look at db and I don't see any tables created.

      The last line in the server log file is:
      [#|2007-07-17T22:24:05.068-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:05,068 INFO [Ejb3Configuration] [PersistenceUnit: bookingDatabase] no META-INF/orm.xml found



        • 1. Re: SEAM JEE5 Example w/MySQL Question
          Noah White Newbie

          Well, when I said that was the last entry in the app server log I was mistaken. Looks like the buffer hadn't flushed in my tail. Applogies, here is a sample of the problem in the logs -

          [#|2007-07-17T22:24:05.970-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:05,970 INFO [SettingsFactory] Default entity-mode: pojo

          [#|2007-07-17T22:24:06.010-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:06,010 INFO [SessionFactoryImpl] building session factory

          [#|2007-07-17T22:24:06.490-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:06,490 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured

          [#|2007-07-17T22:24:06.510-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:06,510 INFO [SchemaExport] Running hbm2ddl schema export

          [#|2007-07-17T22:24:06.510-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:06,510 INFO [SchemaExport] exporting generated schema to database

          [#|2007-07-17T22:24:06.551-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:06,541 ERROR [SchemaExport] Unsuccessful: create table Booking (id bigint not null auto_increment, checkinDate date not null, checkoutDate date not null, creditCard varchar(16) not null, smoking bit not null, beds integer not null, creditCardName varchar(70) not null, creditCardExpiryMonth integer not null, creditCardExpiryYear integer not null, user_username varchar(15) not null, hotel_id bigint not null, primary key (id)) ENGINE=InnoDB

          [#|2007-07-17T22:24:06.551-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|22:24:06,551 ERROR [SchemaExport] No database selected

          • 2. Re: SEAM JEE5 Example w/MySQL Question
            Noah White Newbie

            FWIW I got the DB tables to create and load the sql by changing the Resource Type on my pool from javax.sql.ConnectionPoolDataSource to javax.sql.DataSource and leaving the Datasource Classname set to com.mysql.jdbc2.optional.MysqlConnectionPoolDataSource.

            Any thoughts on why this is what it took? And the error msg. did not really lend any relevant suggestion as to this change being the fix.