2013年12月30日月曜日

jboss7.1.1 と mysql の連携

最初は、standalone.xml を直に編集していたりしたが、Jboss7.1.1 は管理画面から登録するのが正道らしい。管理画面から、mysql ドライバーを配備して、jndi のソース登録して利用してみた。

Jboss7.1.1 で mysql 利用


(1) Manage Deployments より Add content を選択

(2) mysqljdbc ドライバファイルを選択

(3) 配備名の確認後保存

(4) Enable ボタンでドライバの有効化

(5) ここまで更新されたファイル
    <deployments>
        <deployment name="mysql-connector-java-5.1.27-bin.jar" runtime-name="mysql-connector-java-5.1.27-bin.jar">
            <content sha1="180296391137c12da3ba2a35dcc93ef23fb2c1ff"/>
        </deployment>
    </deployments>

そして standalone 配下の data ディレクトリが新たに作成、配備されている。
├── standalone
│   ├── data
│   │   ├── content
│   │   │   └── 18
│   │   │       └── 0296391137c12da3ba2a35dcc93ef23fb2c1ff
│   │   │           └── content
│   │   ├── timer-service-data
│   │   └── tx-object-store
│   │       └── ShadowNoFileLockStore
│   │           └── defaultStore
(6) Datasources の追加

(7) JNDI名などを設定

(8) JDBCドライバを選択

(9) 接続情報の設定

(10) Selection のPoolタブで接続プール数の設定

(11) ここまでの操作の server.xml への更新内容

(11) JSP で接続確認(構成)
$ !tree
tree test01.war
test01.war
└── test01.jsp

0 directories, 1 file

(12) JSP で接続確認(JSPソース)
<%@ page contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@page
   import="java.sql.*,
            javax.sql.*,
            javax.naming.InitialContext,
            javax.naming.Context"%>
<title>JSPテスト</title>
</head>

<body>
<%
  InitialContext initctx = new InitialContext();
  DataSource ds = (DataSource)initctx.lookup("java:jboss/datasources/MySqlDS");
  Connection cn = ds.getConnection();

  Statement stmt = cn.createStatement();
  ResultSet rs = stmt.executeQuery("select * from foods;");
%>
<h1>果物一覧</h1>
<table>
   <tr>
      <th>code</th>
      <th>名前</th>
      <th>値段</th>
   </tr>
   <% while(rs.next()) { %>
   <tr>
      <td>
      <%= rs.getString("code") %>
      </td>
      <td>
      <%= rs.getString("name") %>
      </td>
      <td>
      <%= rs.getString("price") %>
      </td>
   </tr>
   <%
     }
     cn.close();
     initctx.close();
   %>
</table>
</body>
</html>

(13) JSP で接続確認(配備)
$ cp -rp test01.war ~/jboss7/standalone/deployments/
$ touch  ~/jboss7/standalone/deployments/test01.war.dodeploy

(13) JSP で接続確認(実行確認)


0 件のコメント:

コメントを投稿