RDSが起動済みであり、必要なポートに対してセキュリティグループまわりが設定されている状態であることを前提として進めます。
まずはTomcatのインストールです。
1 2 3 | # yum -y install java-1.7.0-openjdk tomcat6-webapps # /etc/init.d/tomcat6 start Starting tomcat6: [ OK ] |
8080ポートにアクセスし、下記のように表示されることを確認します。
次にJDBCドライバ(MySQL)のインストールです。
1 2 3 4 5 6 | # yum -y install mysql-connector-java # rpm -ql mysql-connector-java | grep jar /usr/share/java/mysql-connector-java-5 .1.17.jar /usr/share/java/mysql-connector-java .jar # cd /usr/share/java/tomcat6 # ln -s ../mysql-connector-java.jar mysql-connector-java.jar |
Tomcatから利用するためにシンボリックリンクを張っているところがポイントです。
そしてデータソースの設定ですが、基本的に下記に従って設定しました。
Apache Tomcat 6.0 (6.0.35) – JNDI Datasource HOW-TO / MySQL DBCP Example
context.xmlを配置するMETA-INFディレクトリを作成します。
1 2 | # cd /var/lib/tomcat6/webapps/ROOT/ # mkdir META-INF |
META-INF/context.xmlは下記の通りです。
1 2 3 | <context> <resource name= "jdbc/suz-mysql" auth= "Container" type = "javax.sql.DataSource" maxactive= "100" maxidle= "30" maxwait= "10000" username= "suzuki" password= "password" driverclassname= "com.mysql.jdbc.Driver" url= "jdbc:mysql://suz-mysql.cpwbxg8dcrxi.ap-northeast-1.rds.amazonaws.com/suzuki" > < /resource >< /context > |
パラメータ「url」にRDS(MySQL)のエンドポイントを指定しておきます。
オーナーも調整しておきます。
1 | # chown -R root.tomcat META-INF |
WEB-INF/web.xmlは下記の通りです。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 | <!--?xml version= "1.0" encoding= "ISO-8859-1" ?--> <web-app xmlns= "http://java.sun.com/xml/ns/javaee" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation= "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version= "2.5" > <display-name>Welcome to Tomcat< /display-name > <description>Welcome to Tomcat< /description > <resource-ref> <description>DB Connection< /description > <res-ref-name>jdbc /suz-mysql < /res-ref-name > <res- type >javax.sql.DataSource< /res-type > <res-auth>Container< /res-auth > < /resource-ref > < /web-app > |
resource-refタグで、利用するDataSourceを指定しておきます。
そして、TomcatをリスタートするとDataSource経由でRDS(MySQL)が利用できるようになります。
下記のテストJSPで接続確認を行います。
1 |
上記のJSPにアクセスし次のように表示されれば、接続成功です。
1 2 3 4 5 6 | DatabaseProductName: MySQL DatabaseProductVersion: 5.5.27 DriverName: MySQL-AB JDBC Driver DriverVersion: mysql-connector-java-5.1.17-SNAPSHOT ( Revision: ${bzr.revision- id } ) URL: jdbc:mysql: //suz-mysql .cpwbxg8dcrxi.ap-northeast-1.rds.amazonaws.com /suzuki UserName: suzuki@10.0.0.166 |