0

warファイルをデプロイするだけで、mysqlデータベース接続プールのJNDIリソースを完全に登録できるかどうかを知りたいです。これは可能ですか?

または、管理コンソールなしでJNDIファイルを操作する他の方法はありますか。データベースにアクセスするためにJSTLを使用する必要があるという割り当てがあり、管理コンソールにアクセスできない中央のGlassfish3サーバーにこれをデプロイする必要があります。これは可能ですか?

4

1 に答える 1

1

はい、管理コンソールを操作せずにリソースを構成する方法はありますが、これはサーバー固有です。たとえば、Glassfishの場合、glassfish-resources.xmlファイルを作成して。の下に配置する必要がありますWEB-INF。サンプルの内容は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">

<resources>
<jdbc-connection-pool
 name="jdbc/test_pool"
 res-type="javax.sql.DataSource"
 datasource-classname="org.apache.derby.jdbc.ClientDataSource"
 pool-resize-quantity="1"
 max-pool-size="5"
 steady-pool-size="0"
 statement-timeout-in-seconds="30" >
   <property name="PortNumber" value="1527"></property>
      <property name="Password" value="APP"></property>
      <property name="User" value="APP"></property>
      <property name="serverName" value="localhost"></property>
      <property name="DatabaseName" value="testConnection"></property>
      <property name="connectionAttributes" value=";create=true"></property>
 </jdbc-connection-pool>
 <jdbc-resource pool-name="jdbc/test_pool" jndi-name="jdbc/test"></jdbc-resource>
</resources>

作成されたリソースはアプリケーションスコープになることに注意してください。つまり、次のように、java:appプレフィックスを使用してJNDI名で検索する必要があります。

@Named
@SessionScoped
public class TestConnectionBean implements Serializable {

    @Resource(name = "java:app/jdbc/test")
    private javax.sql.DataSource dataSource;

    public void test() throws SQLException {
        Connection conn = null;
        try {
            conn = dataSource.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        DatabaseMetaData metaData = conn.getMetaData();
        System.out.println(metaData.getDriverName());
        System.out.println(metaData.getDatabaseProductName());
    }

}

グローバルスコープのリソースを作成する必要がある場合は、次のいずれかを使用する必要があります。

  • 管理コンソール
  • CLIasadminユーティリティ
  • domain.xmlを手動で編集する
于 2012-05-13T08:12:59.160 に答える