GlassFish v3.1.2.2でのMySQL/JDBC設定

MySQLのインストールおよび設定、ユーザおよびデータベースの作成は済ませている前提で、GlassFish v3.1.2.2でMySQLのJDBC設定を行います。

1.MySQLのJDBCドライバをインストール

JDBCドライバをダウンロードします。

wget http://downloads.mysql.com/archives/get/file/mysql-connector-java-5.1.26.tar.gz

解凍し、.jarファイルをGlassFishドメインのlibディレクトリに配置する。
ここでは、GlassFishのインストール先が/usr/local/glassfish3、ドメインをdomain1と想定する。

tar xvzf mysql-connector-java-5.1.26.tar.gz
sudo cp mysql-connector-java-5.1.26-bin.jar /usr/local/glassfish3/glassfish/domains/domain1/lib

2.GlassFishでのJDBC設定

JDBCドライバをドメインのlibディレクトリに配置後、GlassFishを再起動する。
以下は、WebベースのGlassFish管理画面「共通タスク」で設定する。

JDBC接続プールを設定。

・新規JDBC接続プール(ステップ1/2)

プール名 任意。例:jdbc/mysql
リソースタイプ javax.sql.DataSource
データベース・ドライバのベンダー MySQL

・新規JDBC接続プール(ステップ2/2)
一部の追加プロパティのみ設定します。他はすべてデフォルトのまま。

User MySQLで作成したユーザ
Password MySQLユーザのパスワード
ServerName MySQL稼働のホスト。例:localhost
Port MySQLで設定したポート。デフォルト:3306
DatabaseName MySQL
URL jdbc:mysql://[ホスト:ポート]/[データベース名]

JDBCリソースの設定。
・新規JDBCリソース

JNDI名 任意。例:jdbc/mysql
プール名 作成したJDBC接続プールの名前。上の例ではjdbc/mysql

3.Javaソースファイル上での指定

次のようにインスタンス変数にjavax.annotation.Resourceアノテーションを使用してインジェクションできます。lookupにGlassFishで設定したJDBCリソースのJNDI名を指定します。

@Resource(lookup = "jdbc/mysql")
private DataSource ds;