JBossとSQL Serverの連携を構成する
- JBoss 4.0が既にダウンロードされ、解凍されているのであれば、最初に行う操作は、SQL Server JDBCドライバのJARファイルをサーバのclasspathに追加することです。SQL Server 2000の場合は、「msbase.jar」「mssqlserver.jar」および「msutil.jar」を、「<JBoss>/server/default/lib」ディレクトリにコピーします。SQL Server 2005 Expressの場合は、「sqljdbc.jar」ファイルを「lib」ディレクトリにコピーします。<JBoss>は、JBossサーバのインストール先のディレクトリです。
- MS SQL Serverデータソースファイルの「<JBoss>\docs\examples\jca\mssql-ds.xml」を「<JBoss>\server\default\deploy」ディレクトリにコピーします。
- mssql-ds.xmlデータソースファイルの中で、
<driver-class/>要素内のJDBCドライバクラスに、「com.microsoft.jdbc.sqlserver.SQLServerDriver」(SQL Server 2000の場合)、および「com.microsoft.sqlserver.jdbc.SQLServerDriver」(SQL Server 2005 Expressの場合)を指定します。<li><connection-url/>要素内の接続URLを、補足説明「ポート値の取得」で指定されるURLを使って指定します。 - ユーザー名をsa、パスワードをSQL Serverと指定します。
<jndi-name/>フィールドに、データソースのJNDI名を指定します。 - <JBoss>server\default\conf\login-config.xml構成ファイルを修正して、次の<application-policy/>要素を追加します。
<application-policy name = "MSSQLDbRealm"> <authentication> <login-module code
= "org.jboss.resource.security.ConfiguredIdentityLoginModule"
flag = "required"> <module-option name = "principal"></module-option> <module-option name = "userName">sa</module-option> <module-option name = "password"></module-option> <module-option name ="managedConnectionFactoryName"> jboss.jca:service=LocalTxCM,name=MSSQLDS </module-option> </login-module> </authentication> </application-policy>
これによって、JBossがSQL Serverと連携します。
EJBエンティティを開発する場合は、「<JBoss>\server\default\conf\standardjbosscmp-jdbc.xml」構成ファイルも修正する必要があります。「standardjbosscmp-jdbc.xml」とSQL Serverデータベースの連携を構成するには、<datasource/>要素と <datasource-mapping/>要素を次に示すように変更します。
<jbosscmp-jdbc> <defaults> <datasource>java:/ MSSQLDS</datasource> <datasource-mapping> MS SQLSERVER2000</datasource-mapping> </defaults> </jbosscmp-jdbc>
