OpenEJB 3.1.4 + Tomcat 6 でアプリケーションをデプロイしようとしています。このアプリケーションは JBoss 内で正常にデプロイされますが、OpenEJB で動作させたいと考えています。
基本的に、データソースを構成し、それを EAR for OpenEJB でデプロイする方法を知りたいです。
たった今:
EJB は OpenEJB の JNDI ブラウザで見つけることができますが、hibernate はデータソースを見つけられないようです (データベース スキーマを更新できません) - stdout から:
org.hibernate.tool.hbm2ddl.SchemaExport execute INFO: Running hbm2ddl schema export
org.hibernate.tool.hbm2ddl.SchemaExport execute INFO: exporting generated schema to database
org.hibernate.tool.hbm2ddl.SchemaExport create GRAVE: Unsuccessful: create table Answer ([...])
私persistence.xml
のデータソースへのポイント:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
[...]
<persistence-unit name="myapp">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/myapp_mysql</jta-data-source>
次のようなデータソースファイルを含めようとしましたsrc/main/application/mysql-ds.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>myapp_mysql</jndi-name>
<connection-url>jdbc:mysql://hostname:3306/my_app</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>user</user-name>
<password>password</password>
そして、次のような別のものsrc/main/application/openejb.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<openejb>
<Connector id="myapp_mysql">
JdbcDriver = com.mysql.jdbc.Driver
JdbcUrl = jdbc:mysql://hostname:3306/my_app
UserName = user
Password = password
</Connector>
</openejb>
しかし、それらのどれも私のアプリコンテナによってロード/考慮されていないようです。何か案は?