Sun Java System Web Server 7.0 管理員指南

配置 Java 資源

Web 應用程式可以存取多種資源,例如資源管理員、資料來源 (如 SQL 資料來源)、郵件階段作業以及 URL 連線工廠。Java EE 平台透過 Java Naming and Directory Interface (JNDI) 服務向應用程式展示此類資源。

Sun Java System Web Server 允許建立與管理以下 Java EE 資源:

配置 JDBC 資源

JDBC 資料來源是一種 Java EE 資源,可以使用 Sun Java System Web Server 建立與管理。

JDBC API 是用於連線關聯式資料庫系統的 API。JDBC API 具有兩個組件﹕

JDBC 資料來源物件是採用 Java 程式設計語言的資料來源實作。從基本上來看,資料來源是儲存資料的設備。可以如大公司複雜的資料庫一樣複雜,也可以如具有列和欄的檔案一樣簡單。JDBC 資料來源是 Java EE 資源,可以透過 Sun Java System Web Server 建立與管理。

JDBC API 提供具有標準 SQL 資料庫存取介面的 Java 類別集,以確保對廣泛關聯式資料庫的統一存取權限。

透過使用 JDBC,可以將 SQL 描述傳送至任何虛擬資料庫管理系統 (DBMS)。它同時作為關聯式 DBMS 與物件 DBMS 的介面。

增加 JDBC 資源

若要透過 CLI 增加 JDBC 資源,請執行以下指令。


wadm> create-jdbc-resource --user=admin --password-file=admin.pwd --host=serverhost
--port=8989 --config=config1 --datasource-class=oracle.jdbc.pool.OracleDataSource jdbc

請參閱 CLI 參考create-jdbc-resource(1)

在上述的範例中,com.pointbase.jdbc.jdbcDataSource 代表 JDBC 驅動程式類別。

如需關於支援的 JDBC 驅動程式清單,請參閱Sun Java System Web Server 支援的 JDBC 驅動程式

Sun Java System Web Server 支援的 JDBC 驅動程式

下表將提供在增加新的 JDBC 資源時,需要配置的一般 JDBC 驅動程式及其特性清單。請參閱增加新的 JDBC 資源

表 11–2 一般與受支援的 JDBC 驅動程式清單

驅動程式

類別名稱

特性

Oracle 驅動程式

oracle.jdbc.pool.OracleDataSource

  • url

  • 使用者

  • 密碼

Oracle 的 SJS JDBC 驅動程式

com.sun.sql.jdbcx.oracle. OracleDataSource

  • 伺服器名稱

  • 連接埠號

  • 使用者

  • 密碼

  • SID

DB2 IBM 驅動程式

com.ibm.db2.jdbc.DB2DataSource

  • 伺服器名稱

  • 資料庫名稱

  • 連接埠號

  • 使用者

  • 密碼

  • 驅動程式類型

DB2 的 SJS JDBC 驅動程式

com.sun.sql.jdbcx.db2. DB2DataSource

  • 資料庫名稱

  • 位置名稱

  • 套裝軟體名稱

  • 密碼

  • 連接埠號

  • 伺服器名稱

  • 使用者

MS SQLServer 驅動程式

com.ddtek.jdbcx.sqlserver. SQLServerDataSource

  • 資料庫名稱

  • 密碼

  • 使用者

  • 伺服器名稱

  • 連接埠號

MS 的 SJS JDBC 驅動程式

com.sun.sql.jdbcx.sqlserver. SQLServerDataSource

  • 資料庫名稱

  • 密碼

  • 使用者

  • 伺服器名稱

  • 連接埠號

Sybase 驅動程式

com.sybase.jdbcx.SybDataSource

  • 資料庫名稱

  • 密碼

  • 連接埠號

  • 伺服器名稱

  • 使用者

Sybase 的 SJS JDBC 驅動程式

com.sun.sql.jdbcx.sybase. SybaseDataSource

  • 資料庫名稱

  • 密碼

  • 使用者

  • 連接埠號

  • 伺服器名稱

MySQL MM 驅動程式

org.gjt.mm.mysql.jdbc2.optional. MysqlDataSource

  • 伺服器名稱

  • 連接埠

  • 資料庫名稱

  • 使用者

  • 密碼

Informix 驅動程式

com.informix.jdbcx.IfxDataSource

  • 連接埠號

  • 資料庫名稱

  • IfxIFXHOST (執行 Informix 資料庫的電腦之 IP 位址或主機名稱)

  • 伺服器名稱

  • 使用者

  • 密碼

Informix 的 SJS JDBC 驅動程式

com.sun.sql.jdbcx.informix. InformixDataSource

  • 資料庫名稱

  • informixServer (您要連線的 Informix 資料庫伺服器名稱)

  • 密碼

  • 連接埠號

  • 伺服器名稱

PostgreSQL 驅動程式

org.postgresql.ds. PGSimpleDataSource

  • 伺服器名稱

  • 資料庫名稱

  • 連接埠號

  • 使用者

  • 密碼

Apache Derby 驅動程式

org.apache.derby.jdbc. EmbeddedDataSource

  • 資料庫名稱

  • 使用者

  • 密碼

管理 JDBC 資源

Procedure增加新的 JDBC 資源

  1. 選取配置。

    從配置清單選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [Java] > [資源] 標籤。

  3. 按一下 [JDBC 資源] 區段下的 [新增] 按鈕。

  4. 選取驅動程式供應商。

    指定唯一 JNDI 名稱值,並從可用清單中選取 JDBC 驅動程式供應商。

  5. 提供 JDBC 資源特性。

    根據上一步選取的 JDBC 驅動程式供應商,自動寫入驅動程式的類別名稱和 JDBC 資源特性。

  6. 查閱。

    檢視摘要,然後按一下 [完成] 以建立新的 JDBC 資源。

管理 JDBC 連線池

配置 JDBC 連線池

在 Sun Java System Web Server 7.0 中,要透過 jdbc-resource 元素配置 JDBC 連線池。下面列出的步驟,可以配置最簡單的連線池。在此例中,連線池使用 Oracle JDBC 驅動程式。

Procedure建立 JDBC 連線池

  1. 啟動 wadm。

  2. 建立 JDBC 資源。

    使用基本配置建立 JDBC 資源。其他屬性可用於微調連線池。請參閱線上手冊以瞭解更多屬性和範例。


    wadm> create-jdbc-resource --config=test 
    --datasourceclass=oracle.jdbc.pool.OracleDataSource jdbc/MyPool
  3. 配置供應商特有特性。

    此特性用於配置驅動程式的供應商特有特性。以下範例中的 urluserpassword 特性將增加至 JDBC 資源。


    wadm> add-jdbc-resource-userprop --config=test --jndi-name=jdbc/MyPool 
    url=jdbc:oracle:thin:@hostname:1521:MYSID user=myuser password=mypassword
  4. 啟用連線驗證。

    您可為連線池啟用連線驗證。如果使用此選項,連線在傳遞至應用程序之前會經過驗證。這可讓 Web 伺服器自動重新建立資料庫連接 (由於網路故障或資料庫伺服器當機,資料庫不可用時)。對連接進行驗證會耗用額外的時間,並且會略微降低效能。


    wadm> set-jdbc-resource-prop --config=test --jndi-name=jdbc/MyPool 
    connection-validation-table-name=test connection-validation=table
  5. 變更預設池設定。

    在此例中,讓我們變更連線的最大數目。


    wadm> set-jdbc-resource-prop --config=test --jndi-name=jdbc/MyPool 
    max-connections=100
  6. 部署配置。


    wadm> deploy-config test
  7. 提供包含 JDBC 驅動程式的 JAR 檔案。

    您需要為伺服器提供可實作驅動程式的類別。可使用的方法有兩種:

    • 將驅動程式的 JAR 檔案複製到伺服器實例程式庫目錄。這是最簡單的方法,因為實例程式庫目錄中的 JAR 檔案會自動載入並提供給伺服器。

    • 修改 JVM 的 class-path-suffix 以包含 JDBC 驅動程式的 JAR 檔案。


      wadm> set-jvm-prop  --config=test class-path-suffix=/export/home/lib/classes12.jar
  8. 在 Web 應用程式中的用法。

    • 修改 WEB-INF/web.xml


      <web-app>
      ...
        <resource-ref>
          <description>JDBC Connection Pool</description>
          <res-ref-name>jdbc/myJdbc</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
        </resource-ref>
      ...
      </web-app>
    • 修改 WEB-INF/sun-web.xml


      <sun-web-app>
      ...
        <resource-ref>
          <res-ref-name>jdbc/myJdbc</res-ref-name>
          <jndi-name>jdbc/MyPool</jndi-name>
        </resource-ref>
      ...
      </sun-web-app>
    • 使用連線池。


      Context initContext = new InitialContext();
          Context webContext = (Context)context.lookup("java:/comp/env");
      
          DataSource ds = (DataSource) webContext.lookup("jdbc/myJdbc");
          Connection dbCon = ds.getConnection();

註冊自訂資源

可以按照此工作來註冊包含實例的自訂資源。

Procedure增加自訂資源

  1. 選取配置。

    從配置清單選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [Java] > [資源] 標籤。

  3. 按一下 [自訂資源] 區段中的 [新增] 按鈕。

自訂資源的特性

下表說明了可用於建立自訂資源的特性。

表 11–3 自訂資源特性

特性

說明

JNDI 名稱

為自訂資源提供唯一的 JNDI 名稱。 

已啟用

決定在執行階段是否啟用此 JDBC 資源。 

資源類型

此資源之完全合格的類型。 

工廠類別

創設此類型資源的類別。實作 javax.naming.spi.ObjectFactory 的使用者寫入工廠類別的完全合格名稱。

說明

提供對自訂資源的簡短說明。 

特性

按一下 [增加特性] 按鈕,選擇性地提供 CLI 特性。 


備註 –

使用 CLI

若要透過 CLI 建立自訂資源,請執行以下指令:


wadm> create-custom-resource --user=admin --password-file=admin.pwd --host=serverhost 
--port=8989 --config=config1 --res-type=samples.jndi.customResource.MyBean 
--factory-class=samples.jndi.customResource.MyCustomConnectionFactory custom

請參閱 CLI 參考create-custom-resource(1)


使用外部 JNDI 資源

建立外部 JNDI 資源

此選項可讓您建立外部 Java Naming and Directory Interface (JNDI) 資源。您需要外部 JNDI 資源,才可存取儲存在內部 JNDI 儲存庫中的資源。

Procedure增加外部 JNDI 資源

  1. 選取配置。

    從配置清單選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [Java] > [資源] 標籤。

  3. 按一下 [外部 JNDI] 區段中的 [新增] 按鈕。

外部 JNDI 資源的特性

下表說明了在增加新的外部 JNDI 資源時可以使用的特性。

表 11–4 外部 JNDI 資源特性

特性

說明

JNDI 名稱

為新的外部 JNDI 資源提供唯一名稱。 

已啟用

決定在執行階段是否啟用此外部 JNDI 資源。 

外部 JNDI 名稱

外部 JNDI 資源的名稱。 

資源類型

此資源之完全合格的類型。 

工廠類別

創設此類型資源的類別。 

說明

提供對自訂資源的簡短說明。 

特性

按一下 [增加特性] 按鈕,選擇性地提供 CLI 特性。 


備註 –

使用 CLI

若要透過 CLI 建立外部 JNDI 資源,請執行以下指令:


wadm> create-external-jndi-resource --user=admin 
--password-file=admin.pwd --host=serverhost --port=8989 --config=config1 
--res-type=org.apache.naming.resources.Resource 
--factory-class=samples.jndi.externalResource.MyExternalConnectionFactory 
--jndilookupname=index.html external-jndi

請參閱 CLI 參考create-external-jndi-resource(1)


配置郵件資源

JMS 目標是 Java EE 資源,可透過 Sun Java System Web Server 建立與管理。

許多網際網路應用程式都需要傳送電子郵件通知的功能。因此,Java EE 平台包括 JavaMail API 以及 JavaMail 服務提供者,可讓應用程式元件傳送網際網路郵件。

Procedure增加郵件資源

  1. 選取配置。

    從配置清單選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [Java] > [資源] 標籤。

  3. 按一下 [郵件資源] 區段中的 [新增] 按鈕。

郵件資源的特性

下表說明了在增加新的郵件資源時可以使用的特性。

表 11–5 郵件資源特性

特性

說明

JNDI 名稱

為新的郵件資源提供唯一名稱。 

已啟用

決定在執行階段是否啟用此郵件資源。 

使用者

在郵件伺服器中註冊的有效使用者名稱。 

寄件者

伺服器傳送郵件的源電子郵件位址。 

主機

郵件伺服器的主機名稱/IP 位址。 

儲存協定

用於擷取郵件的協定。 

儲存協定類別

儲存協定的儲存服務提供者實作。實作儲存協定的類別之完全合格類別名稱。預設類別為 com.sun.mail.imap.IMAPStore

傳輸協定

用於傳送郵件的協定。 

傳輸協定類別

傳輸協定的傳輸服務提供者實作。實作傳輸協定的類別之完全合格類別名稱。預設類別為 com.sun.mail.smtp.SMTPTransport


備註 –

使用 CLI

若要建立郵件資源,請執行以下指令:


wadm> create-mail-resource --config=test --server-host=localhost 
--mail-user=nobody --from=xyz@foo.com mail/Session

請參閱 CLI 參考create-mail-resource(1)