2009年8月1日土曜日

Seam on PostgreSQL

JBoss/SeamのデフォルトデータベースのデータソースはHSQLDBというJavaで実装されたものなのですが、PostgreSQLに変えたいのでやっておきます。

【インストール】
# apt-get install postgresql libpg-java

【ユーザ作成&パスワード設定】
# su - postgres
$ createuser seam
$ createuser seam

Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n

$ createdb myproject
$ psql -l
$ psql template1
template1=# alter user seam password 'seamseamseam';
ALTER ROLE
template1=# \q

【接続確認】
$ psql myproject -Useam -hlocalhost
$ exit

【JDBCの設定】
# cd /usr/local/jboss/jboss-5.1.0.GA/server/default/lib
# ln -s /usr/share/java/postgresql.jar

また、/usr/share/java/postgresql.jar をローカルにも
C:\usr\local\jboss\jboss-5.1.0.GA\server\default\lib\postgresql.jar
として保存しておきます。

【seam-genの再実行】
HSQLDBからPostgreSQLに向き先を変更します。
C:\Projects\myproject\resources\myproject-dev-ds.xml
を削除してからseam-genを実行します。
あるいは、C:\Projects\myproject自体を削除してやり直しても構いません。

>seam setup
settings:
[echo] JBoss AS home: C:/usr/local/jboss/jboss-5.1.0.GA
[echo] GlassFish home: C:/Program Files/glassfish-v2.1
[echo] Project name: myproject
[echo] Project location: C:/Projects/myproject
[echo] Project type: ear
[echo] IceFaces: n
[echo] Action package: jp.vyw.myproject.action
[echo] Model package: jp.vyw.myproject.model
[echo] Test package: jp.vyw.myproject.test
[echo] JDBC driver class: org.postgresql.Driver
[echo] JDBC DataSource class: org.postgresql.jdbc3.Jdbc3ConnectionPool
[echo] Hibernate dialect: org.hibernate.dialect.PostgreSQLDialect
[echo] JDBC URL:ツꀀjdbc:postgresql://localhost:5432/myproject
[echo] Database username: seam
[echo] Database password: seamseamseam

>seam create-project
>seam undeploy
>seam deploy

新しいmyproject.earとmyproject-ds.xmlをLinuxサーバーにデプロイします。
デプロイ後 、再度動作を確認してください。

次回は、実際のPostgreSQLのテーブルとORMします。

0 件のコメント:

コメントを投稿