概要
標準の環境ではデータベースには H2 Database を利用しています。設定を変更することで他のデータベースを利用することができます。
MySQLを利用する場合
インストール
MySQL 用のバイナリを展開します。
設定
データベースを作成します。
$ mysql -u root -p
mysql> create database fess_db;
mysql> grant all privileges on fess_db.* to fess_user@localhost identified by 'fess_pass';
mysql> create database fess_robot;
mysql> grant all privileges on fess_robot.* to s2robot@localhost identified by 's2robot';
mysql> FLUSH PRIVILEGES;
作成したデータベースにテーブルを作成します。DDL ファイルは extension/mysql にあります。
$ mysql -u fess_user --password=fess_pass fess_db < extension/mysql/fess.ddl
$ mysql -u s2robot --password=s2robot fess_robot < extension/mysql/robot.ddl
webapps/fess/WEB-INF/lib に mysql ドライバの jar を配置します。
$ cd webapps/fess/WEB-INF/lib/
$ rm h2-1.*.jar
$ wget http://mirrors.ibiblio.org/pub/mirrors/maven2/mysql/mysql-connector-java/5.1.18/mysql-connector-java-5.1.18.jar
$ cd ../../../../
webapps/fess/WEB-INF/classes/jdbc.dicon を編集します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components namespace="jdbc">
<include path="jta.dicon"/>
<!-- MySQL -->
<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"com.mysql.jdbc.Driver"
</property>
<property name="URL">
"jdbc:mysql://localhost:3306/fess_db?" +
"noDatetimeStringSync=true&" +
"zeroDateTimeBehavior=convertToNull&" +
"useUnicode=true&characterEncoding=UTF-8&" +
"autoReconnect=true"
</property>
<property name="user">"fess_user"</property>
<property name="password">"fess_pass"</property>
</component>
<component name="connectionPool"
class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
<property name="timeout">600</property>
<property name="maxPoolSize">10</property>
<property name="allowLocalTx">true</property>
<destroyMethod name="close"/>
</component>
<component name="DataSource"
class="org.seasar.extension.dbcp.impl.DataSourceImpl"
/>
</components>
webapps/fess/WEB-INF/classes/s2robot_jdbc.dicon を編集します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components namespace="jdbc">
<include path="jta.dicon"/>
<!-- for MySQL -->
<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"com.mysql.jdbc.Driver"
</property>
<property name="URL">
"jdbc:mysql://localhost:3306/fess_robot?" +
"noDatetimeStringSync=true&" +
"zeroDateTimeBehavior=convertToNull&" +
"useUnicode=true&characterEncoding=UTF-8&" +
"autoReconnect=true"
</property>
<property name="user">"s2robot"</property>
<property name="password">"s2robot"</property>
</component>
<component name="connectionPool"
class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
<property name="timeout">600</property>
<property name="maxPoolSize">10</property>
<property name="allowLocalTx">true</property>
<property name="transactionIsolationLevel">@java.sql.Connection@TRANSACTION_REPEATABLE_READ</property>
<destroyMethod name="close"/>
</component>
<component name="DataSource"
class="org.seasar.extension.dbcp.impl.DataSourceImpl"
/>
</components>