本章說明 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 軟體的已知問題和相關解決方法。如果摘要敘述未指明特定的平台,則所有平台都可能出現此問題。這些資訊按以下章節進行分類:
本節介紹已知的管理問題以及相關的解決方案。
本節說明 Apache Web Sever 和負載平衡程式外掛程式的已知問題和相關解決方案。
錯誤 ID |
摘要 |
---|---|
6306784 |
「High-Availability Administration Guide」對將 openssl 與 Apache 配合使用的說明不正確。 解決方案 編譯和建置 openssl 時,請執行以下指令: cd openssl-0.9.7e config make 同樣,對於 Apache 1.3,mod_ssl 來源的目錄名稱取決於所使用的 Apache 發行版本。例如,對於 Apache 1.3.33,名稱為 mod_ssl-2.8.22-1.3.33。 |
6307976 |
「High-Availability Administration Guide」未包含使用 Apache 2.0 之憑證的說明。 解決方案 若要執行 Apache 安全性,必須使用憑證。如需有關從認證機構取得憑證的說明,請參閱 modssl FAQ 中有關憑證的資訊。 |
6308021 |
必須以超級使用者的身份啟動 Apache Web Server。 解決方案 在 Solaris 上,如果已將 Application Server 安裝在根目錄下,則必須以超級使用者的身份啟動 Apache Web Server。以超級使用者的身份安裝 Java Enterprise System。以超級使用者的身份啟動 Apache 2.0 後,Apache 會切換為您定義的其他使用者並執行。您在 /conf/httpd.conf 檔案中定義了該使用者。若要以超級使用者的身份啟動,則在許多系統上均必須編輯 httpd.conf 檔案,以指定正確的群組。將行: Group #-1 替代為 Group nobody 有關使用者/群組用法的更多資訊包含在 httpd.conf 檔案中。 |
6308043 |
在 Solaris 上配合使用 openssl 與 Apache Web Server 2.0 的補充說明。 安裝 Apache 2.0 和負載平衡程式外掛程式之後,請按照以下說明編輯 ssl.conf 和 sll-std.conf: 將行: <VirtualHost _default_:9191> 替代為 <VirtualHost machine_name:9191> 其中,machine_name 為電腦的名稱,9191 為安全性連接埠號碼。 |
本節介紹已知的應用程式用戶端問題以及相關的解決方案。
錯誤 ID |
摘要 |
---|---|
6193556 |
封裝在應用程式用戶端歸檔檔案中的程式庫 JAR 會覆寫可取得的檔案。 如果您在用戶端 JAR 內部具有頂層的 JAR 檔案 (這種情況下,為 reporter.jar),當您部署用戶端 JAR 時,該 JAR 的可取得的檔案將覆寫用戶端 JAR 的可取得的檔案。 解決方案 此時為 None。 |
6373043 |
不再支援動態內容技術,如 CGI-bin 和 SHTML。 解決方案 改用 JSP 和 Web 服務技術。 |
本節介紹已知的附帶的 Sun JDBC驅動程式問題以及相關的解決方案。
錯誤 ID |
摘要 |
---|---|
6165970 |
在使用準備好的陳述更新時,如果有兩個平行作業事件正在執行,並且其中一個被回復,則配合使用 TRANSACTION_SERIALIZABLE 隔離層級與 Sun 隨附的 Microsoft SQL Server 驅動程式的應用程式可能會掛機。 若要為連線設定所需的隔離層級,必須在相同的隔離層級建立相應的連線區。請參閱「管理指南」,以取得有關配置連線池的詳細資訊。 解決方案 此時為 None。 |
6170432 |
PreparedStatement 錯誤。 說明 1 如果應用程式在一個作業事件中產生的 PreparedStatement 物件多於 3000 個,則 DB2 可能發生以下錯誤: [sunm][DB2 JDBC Driver] No more available statements.Please recreate your package with a larger dynamicSections value. 解決方案 1 將以下特性增加到連線區定義中,以使用更大的動態區段值來使驅動程式重新連結 DB2 封裝︰ createDefaultPackage=true replacePackage=true dynamicSections=1000 請參閱「管理指南」,以取得有關配置連線池的詳細資訊。 說明 2 與上述 PrepardStatement 錯誤相關,可能丟出其他錯誤訊息: [sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available. 解決方案 2 增大 DB2 伺服器配置參數 APPLHEAPSZ。合適的值為 4096。 說明 3 隔離層級 TRANSACTION_SERIALIZABLE。如果應用程式使用隔離層級 TRANSACTION_SERIALIZABLE,並使用上述建議的參數之一,則應用程式在取得連線時可能會掛機。 解決方案 3 若要為連線設定所需的隔離層級,必須在此隔離層級建立相應的連線區。請參閱「管理指南」,以取得說明。 |
6189199 |
使用附帶的 Sun 驅動程式設定隔離層級的問題 (針對 Sybase Adaptive Server)。
解決方案 此時為 None。 |
6247468 |
在 Solaris 10 和 Enterprise Linux 3.0 上,Sun 隨附的 Oracle JDBC 驅動程式不允許建立連線。 解決方案 當使用 SUN JDBC Oracle 資料來源 (com.sun.sql.jdbcx.oracle.OracleDataSource) 時,在 JDBC 連線池上設定以下特性: <property name="serverType" value="dedicated"/> 該特性的值取決於配置 Oracle 伺服器偵聽程式的方式。如果在「共用」模式中配置該伺服器,則上述值需變更為「dedicated」。 |
6554602 |
從 JDBC 10.2 驅動程式開始,在 CLASSPATH 中有多個 JDBC jar 檔案可能會導致 java.lang.SecurityException: Sealing violation exception。 以下 Oracle 文件 ID 記載了 Oracle 的詳細說明: 備註:405446 主旨:JDBC Driver 10.2 Uses Sealed JAR files and May Cause Security Exception Sealing Violation 解決方案 (Oracle 的建議) 請確定 CLASSPATH 僅包含一個 JDBC 驅動程式 JAR 檔案。 |
本節介紹已知的 J2EE 連接器架構問題以及相關的解決方案。
錯誤 ID |
摘要 |
---|---|
6188343 |
重新啟動 DAS 實例後,在將重疊設定為 false 時,取消部署連接器模組會失敗。 在此情況下,獨立的或內嵌的連接器模組便部署在 DAS 和連接器連線區中,並為部署的模組建立了資源。重新啟動 DAS 實例後,將重疊設定為 false 時,取消部署連接器模組會失敗,並顯示以下異常︰ [#|2004-10-31T19:52:23.049-0800|INFO|sun-appserver-ee8.1|javax.enterprise.system .core|_ThreadID=14;|CORE5023:Error while unloading application [foo]|#] 解決方案 在重新啟動 DAS 實例後,使用重疊的取消部署 (將重疊選項設定為 true) 來取消部署獨立的和內嵌的連接器。 |
本節說明已知的文件問題以及相關的解決方案。
錯誤 ID |
摘要 |
||
---|---|---|---|
ID 不同 |
Javadoc 不一致。 用於多個 AMX 介面與方法的 Javadoc 缺漏或不正確:
|
||
6265624 |
隨附的 ANT 丟出 java.lang.NoClassDefFoundError。 在「主」執行緒中丟出以下異常 java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher。 解決方案 不建議將隨附的 ANT 用於 Application Server 以外的軟體。 |
||
6486123 |
從環繞連線取得實體連線的文件已不再正確。 由於其他錯誤 (可能是 6295215),「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide」中的第 11 章「Using the JDBC API for Database Access」一節所提供的程式碼已不正確。具體來說,下行:
應改為:
|
本節說明已知的高可用性資料庫 (HADB) 問題以及相關的解決方案。
錯誤 ID |
摘要 |
|||
---|---|---|---|---|
無 ID |
具有雙網路的 HADB 配置。 在兩個子網路上配置為具有雙網路的 HADB,在 Solaris SPARC 上工作正常。然而,我們發現由於作業系統的問題或同一硬體平台上的網路驅動程式,Solaris x86 與 Linux 平台並不總能正確處理雙網路。這將引起 HADB 的以下問題:
|
|||
無 ID |
建立 HADB 資料庫失敗。 建立新資料庫可能失敗並顯示以下錯誤,表示可用的共用記憶體區段不足: HADB-E-21054:System resource is unavailable:HADB-S-05512:Attaching shared memory segment with key "xxxxx" failed, OS status=24 OS error message:Too many open files. 解決方案 驗證是否已配置共用記憶體,以及配置是否能夠正常工作。尤其,在 Solaris 8 上,檢視檔案 /etc/system,並檢查變數 shmsys:shminfo_shmseg 的值是否至少為每個主機上節點數目的六倍。 |
|||
5052548 |
共用記憶體區段已鎖定且無法分頁。 當 Intimate Shared Memory 建立及附加至共用記憶體區段時,HADB 4.3-0.16 及更新版本會配置為使用 Intimate Shared Memory (使用 SHM_SHARE_MMU 旗標)。使用此旗標基本上會在實體記憶體中鎖定共用記憶體區段,以避免共用記憶體區段遭到分頁。這在安裝低階機器時很容易造成問題。 因此,若開發者在使用 Application Server 7.0 EE 的機器上有 512 MB 的記憶體和許多可用的交換空間,之後再安裝 7.1 EE 或更新版本,則開發者將會在配置預設 clsetup 叢集 (建立兩個 HADB 節點,每個節點的 devicesize 為 512) 時發生問題,而導致沒有足夠的實體 RAM 可支援這兩個節點皆所需的共用記憶體。 解決方案 請務必在並置應用程式伺服器和 HADB 時,具備建議的記憶體容量。請參閱HADB 需求和支援的平台以取得更多資訊。 |
|||
5091280 |
hadbm set 不檢查資源可用性 (磁碟與記憶體空間)。 當使用 hadbm set 增加裝置或緩衝區大小時,管理系統會在建立資料庫或增加節點時檢查資源可用性,但不會在裝置或主記憶體緩衝區大小變更時檢查是否有足夠的可用資源。 解決方案 增加任何 devicesize 或 buffersize 配置屬性之前,驗證所有的主機上是否有足夠的可用磁碟/記憶體空間。 |
|||
5091349 |
不支援 packagepath 的異質性路徑。 不可能在不同主機的不同位置使用相同名稱註冊同一套裝軟體,例如:
解決方案 HADB 不支援資料庫叢集中跨節點的不同路徑。請確定 HADB 伺服器安裝目錄 (--packagepath) 在所有參與的主機上均相同。 |
|||
6173886、6253132 |
createdomain 可能會失敗。 當在具有多個網路介面的主機上執行管理代理程式時,如果所有的網路介面不在同一子網路上,則 createdomain 指令可能失敗:
管理代理程式將 (如果未另行配置) 使用「第一個」介面進行 UDP 多重播送 (java.net.NetworkInterface.getNetworkInterfaces() 結果所定義的「第一個」)。 解決方案 最佳解決方案是為管理代理程式指定要使用的子網路 (在配置檔案中設定 ma.server.mainternal.interfaces,例如 ma.server.mainternal.interfaces=10.11.100.0)。另一種方法是,將子網路間的路由器配置為路由多重播送資料封包 (管理代理程式使用多重播送位址 228.8.8.8)。 嘗試管理代理程式的新配置之前,您必須清除管理代理程式儲存庫。停止網域中的所有代理程式,並刪除儲存庫目錄 (由管理代理程式配置檔案中的 repository.dr.path 識別) 中的所有檔案和目錄。必須先在所有主機上完成此作業,方可使用新配置檔案重新啟動代理程式。 |
|||
6190878 |
刪除 HADB 實例之後必須清除目錄。 刪除 HADB 實例之後,嘗試使用 configure-ha-cluster 指令建立新實例失敗。問題在於,原始 HADB 實例在 ha_install_dir/rep/* 和 ha_install_dir/config/hadb/instance_name 中留下了舊目錄。 解決方案 請務必於刪除 HADB 實例之後,手動刪除這些目錄。 |
|||
6230792、6230415 |
啟動、停止和重新配置 HADB 可能失敗或掛機。 在 Solaris 10 Opteron 上使用 hadbm 指令啟動、停止和重新配置 HADB 可能失敗或當機,並出現下列錯誤之一:
當讀取/寫入 clu_noman_srv 程序使用的檔案 (nomandevice) 不一致時,可能發生此情況。可透過在 HADB 歷史檔案中尋找以下訊息來偵測此問題:
解決方案 由於無法手動再現此問題,因此下列的解決方法尚未經過驗證。但是,對受影響的節點執行此指令應該可以解決此問題。
請注意,該節點的所有裝置均會被重新初始化。重新初始化之前,您可能必須停止節點。 |
|||
6232140 |
管理代理程式已終止,發生異常 "IPV6_MULTICAST_IF failed" 在安裝了數個 NIC 卡並於執行 Solaris 8 的主機上啟動時,若同時包含已啟用 IPv6 和 IPv4 的各式卡片,則會終止管理代理程式,並出現異常 "IPV6_MULTICAST_IF failed"。 解決方案 將環境變數 JAVA_OPTIONS 設定為 -Djava.net.preferIPv4Stack=true,例如:
或者,使用 Solaris 9 或更高版本,其不會出現該問題。 |
|||
6249685 |
無法中斷 clu_trans_srv。 在 64 位元版本的 Red Hat Enterprise Linux 3.0 中存在一個錯誤,可在執行非同步化 I/O 時導致 clu_trans_srv 程序在不可中斷模式中結束。這意味著強制結束 -9 不能解決問題,必須重新啟動作業系統。 解決方案 使用 32 位元版本的 Red Hat Enterprise Linux 3.0。 |
|||
6262824 |
hadbm 不支援含有大寫字母的密碼。 將密碼儲存在 hadb 中時,密碼中的大寫字母會被轉換為小寫字母。 解決方案 不使用含有大寫字母的密碼。 |
|||
6265419 |
從 HADB 4.4.2.5 版降級至 HADB 4.4.1.7 版將導致 ma 失敗,並顯示不同錯誤代碼。 當降級至舊的 HADB 版本時,管理代理程式可能會失敗,並顯示不同錯誤代碼。 解決方案 雖然可以降級 HADB 資料庫,但是如果已變更了儲存庫物件,則管理代理程式可能無法降級。降級後,必須使用最新版的 HADB 中的管理代理程式。 |
|||
6271063 |
安裝/移除和 symlink 維護。 關於安裝/移除 HADB c 套裝軟體 (Solaris:SUNWhadbc,Linux:sun-hadb-c) 版本 <m.n.u-p>,symlink /opt/SUNWhadb/<m> 自建立後將永遠不會變更。因此,可能存在孤立的 symlink。 解決方案 如果不使用,請在安裝之前或解除安裝之後刪除 symlink。 |
|||
6273681 |
全域區域中的管理代理程式和本機區域中的管理代理程式可能發生衝突。 在 Solaris 10 上,透過使用全域區域中的 ma-initd 程序檔停止管理代理程式時,也會停止本機區域中的管理代理程式。 解決方案 不同時在全域區域和本機區域中安裝管理代理程式。 |
|||
6275103 |
階段作業物件逾時並在 MA 中被刪除時,hadbm/ma 應提供更佳的錯誤訊息。 有時,伺服器上的資源競爭狀態問題可能會導致管理用戶端連線中斷。重新連線後,可能會傳回不正確的錯誤訊息 "hadbm:Error 22184:A password is required to connect to the management agent"。 解決方案 檢查該伺服器上是否存在資源問題,並採取適當措施 (例如,增加更多資源),然後重試該作業。 |
|||
6275319 |
非超級使用者無法管理 HADB。 使用 Java Enterprise System (以超級使用者的身份) 安裝 HADB 後不允許非超級使用者管理 。 解決方案 始終以超級使用者身份登入以管理 HADB。 |
|||
6293912 |
管理代理程式不應使用具有特殊用途的介面。 不應將包含 0.0.0.0 之類 IP 位址的具有特殊用途的介面註冊為管理代理程式中的 HADB 節點所使用的有效介面。如果透過使用者使用主機名稱而非 IP 位址發出 hadbm create 指令,在此類介面上設定 HADB 節點,則註冊此類介面可能會導致問題發生。之後節點將無法通訊,並導致 create 指令掛機。 解決方案 當在包含多重介面的主機上使用 hadbm create 時,請始終使用 DDN 表示法明確指定 IP 位址。 |
|||
6291562 |
在 Windows 上發生重新組合故障。 在 Windows 平台上,由於某些配置和負載,作業系統中可能會出現大量的重新組合故障。在具有多於二十個節點的配置平行執行數個表掃描 (select *) 時,曾發生此問題。此問題表現為作業事件頻繁中斷、修復或回復需較長時間才能完成,以及多種系統零件可能會頻繁逾時。 解決方案 若要修正此問題,可將 Windows 登錄變數 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 設定為大於預設值 100 的值。建議您將此值提高到 0x1000 (4096)。如需更多資訊,請參閱 Microsoft 支援頁面中的文章 811003。 |
|||
6303581、6346059、6307497 |
執行 hadbm start <db_name> 時,會顯示未遮罩的輸入密碼。 有可能是機器負載了會讓遮罩機制失敗的工作,而導致輸入的密碼有部分字元顯露。如此會造成輕微的安全性風險,因此密碼應一律遮罩。 解決方案 將密碼置於其所擁有的密碼檔案中 (Application Server 8.1 之後的版本一般會建議使用此方法),並使用 --adminpassword 或 --dbpasswordfile 選項參照密碼。 |
本節說明已知的安裝問題以及相關的解決方案。
錯誤 ID |
摘要 |
||
---|---|---|---|
5009728 |
按一下 [完成] 按鈕之後,某些 Linux 系統上的安裝關閉當機。 已在多個 Linux 系統中發現此問題。此問題在 Java Desktop System 2 中最為常見,也見於 Linux Red Hat 發行軟體中。 在最後的安裝程式螢幕上按一下 [完成] 按鈕之後,安裝程式無法啟動包含產品 [關於] 頁面或產品註冊頁面的瀏覽器視窗,且無限期當機,並不返回指令提示。 解決方案 在啟動安裝程式的終端機視窗中按下 Ctrl+C 以結束安裝程式。執行完此步驟後,有時會啟動包含產品 [關於] 頁面或註冊頁面的瀏覽器視窗,但如果未顯示該視窗,請啟動瀏覽器並輸入以下 URL 以檢視 [關於] 頁面:
如果您還選取安裝選項以註冊產品,請使用產品 [關於] 頁面上的連結進入註冊頁面。 |
||
6199697 |
在 Windows 上,需要在安裝期間建立 imq 目錄。 在 Windows 上,Application Server Enterprise Edition 安裝一經完成,Message Queue 代理程式便會啟動失敗,並顯示訊息表明 drive:\as\domains\domain1\imq 目錄不存在。 請注意,如果在啟動 domain1 之後啟動此代理程式,則 Application Server 會建立此目錄並且不會發生此問題。 解決方案
|
||
6297837 |
Application Server 安裝程式在產品名稱「Sun Java(TM) System Application Server Enterprise Edition 8.1 2005Q4」中顯示錯誤的產品發行日期。 解決方案 正確的產品名稱/日期應為「Sun Java(TM) System Application Server Enterprise Edition 8.1 2005Q2」。 |
||
6396045 |
Application Server 不支援網路檔案系統 (NFS)。 解決方案 無。 |
若要在 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 上執行 J2EE 1.4 Tutorial,請執行以下作業:
當您依照「About this Tutorial」一章中「About the Examples」小節的說明,編輯檔案範例 /common/build.properties 時,另將連接埠 4848 變更為 4849。
使用 Deploytool 時,在部署範例之前增加 localhost:4849。
當使用 [管理主控台] 建立任何資源時,請使用 [目標] 標籤將伺服器指定為目標。如果使用指令行或 asant 目標,則伺服器為預設目標,無需其他動作。
本節說明已知的生命週期管理問題以及相關的解決方案。
錯誤 ID |
摘要 |
||
---|---|---|---|
6193449 |
將 ejb-timer-service 特性 minimum-delivery-interval 設定為 9000 之後,嘗試將 ejb-timer-service 特性 redelivery-interval-in-mills 設定為 7000 會導致 set 指令失敗,並顯示以下錯誤:
問題在於,將重新傳送間隔特性與最小傳送特性相聯繫的邏輯不正確,並阻止您使用 GUI 或 CLI 設定任何最小傳送間隔大於重新傳送間隔的值。 minimum-delivery-interval-in-millis 的設定必須始終等於或高於 ejb-timer-service 特性 redelivery-interval-in-millis 的設定。問題在於,應用程式伺服器具有錯誤的驗證檢查可驗證 redelivery-interval-in-millis 的值是否大於 minimum-delivery-interval-in-millis 的值。 解決方案 使用這些特性的預設值,如下所示:
這些預設值以外的值將會產生錯誤。 |
本節說明已知的記錄問題以及解決方案。
錯誤 ID |
摘要 |
|
---|---|---|
6180095 |
設定 access,failure 的除錯敘述會導致 Application Server 啟動時掛機。 設定 JVM 的 java.security.debug 選項會導致伺服器實例啟動固定並成為死結,例如在 domain.xml 進行以下設定會導致該問題:
此時為 None。請避免設定此標幟。 |
本節說明已知的 Java Message Queue 問題以及相關的解決方案。
錯誤 ID |
摘要 |
---|---|
6173308、6189645、6198481、6199510、6208728 |
在某些與時間相關的情況下,JMS 重新連線不能成功完成。 在與時間相關的方案中重新連線失敗可能是由多個問題導致的。 解決方案 您可以透過以下方法解決這些問題:
|
6198465 |
appclient 8.0 至 8.1 中變更了非同步訊息偵聽程式的運作方式。 由於最新的變更,當非同步訊息偵聽程式為 app-client 容器中唯一的作用中執行緒時,剩餘的 appclient 虛擬電腦以常駐程式存在。此運作方式對於 ACC 中執行非同步接收的舊應用程式是一種回歸。該問題會影響設定 JMS 訊息偵聽程式並結束主執行緒的應用程式用戶端。 解決方案 請勿結束主執行緒。等待訊息偵聽程式告知主執行緒後,再終止主執行緒。 |
本節介紹已知的監視問題和相關的解決方案。
錯誤 ID |
摘要 |
||||||
---|---|---|---|---|---|---|---|
6174518 |
某些 HTTP 服務的監視統計資訊中不存在有用的資訊,應該將其忽略。 當檢視 HTTP 服務中某些元素的監視統計時,某些顯示的值與目前值不對應,或始終為 0。具體來說,下列 HTTP 服務統計不顯示適用於 Application Server 的資訊,應該將其忽略:
解決方案 在以後的版本中,將移除這些監視,並由更適當的資訊取代。 |
||||||
6191092 |
未移除取消部署的 EJB 模組的監視 MBean (雖然移動了該監視名稱下的所有統計)。 例如︰
EJB 模組與應用程式也一樣。雖然是有計劃地 (透過 MBean API) 並且透過 asadmin list/get 移動監視名稱下的所有統計訊,但空監視 MBean 依然存在。 診斷
您可以查看下列統計資訊:
取消部署後:
如果執行某項 list 指令,仍可看到下列應用程式:
但不包含任何監視統計資訊:
|
||||||
|
若要取得以字串開頭的有效名稱,請使用萬用字元 (「*」)。例如,若要列示以 server 開頭的所有監視實體的名稱,請使用 list "server.*"。 解決方案 此項是無害的。可以安全地重新部署模組,不會出現任何問題。雖然沒有移除根監視 Mbean,但它為空監視。 |
本節介紹與 PointBase 相關的已知問題及其相應解決方案。
錯誤 ID |
摘要 |
---|---|
6184797 |
設定應用程式連線區中的隔離層級,將導致 PointBase 異常。 對於指向 PointBase 資料庫安裝的 JDBC 連線池,將 transaction-isolation-level 池屬性設定為除預設值 (Connection.TRANSACTION_READ_COMMITTED) 之外的任何值,均會導致異常。但對於指向其他資料庫的連線區,將同一參數設定為非預設值卻不會拋出異常。 解決方案 對於指向 PointBase 資料庫安裝的 JDBC 連線池,請勿嘗試設定 transaction-isolation-level。 |
6204925 |
如果網路伺服器與內嵌式驅動程式配合使用,則 PointBase 拋出異常。 如果同時使用網路伺服器驅動程式與內嵌式驅動程式,那麼附帶的 PointBase 有時會拋出異常。 解決方案 請單獨使用內嵌式驅動程式或單獨使用網路伺服器驅動程式,切勿同時使用。 |
6264969、6275448 |
升級問題 (升級時覆寫預設 PointBase 資料庫)。 升級至 Application Server Enterprise Edition 8.1 2005Q2 Update 2 後,Update 發行版本修補程式會覆寫 Pointbase 預設資料庫。 解決方案 重新建立或重新輸入升級前存在的任何方案或資料。如果您使用具有 [產生表] 選項的 CMP Bean 部署應用程式,則必須取消部署或重新部署應用程式才能產生表。 |
本節說明與 Application Server 8.1 產品中包含的範例代碼相關的已知問題及其相應的解決方案。
錯誤 ID |
摘要 |
|||||
---|---|---|---|---|---|---|
6195092 |
setup-one-machine-cluster 在 Windows 上會掛機,但在 Solaris 上工作正常;mqfailover 需要按下 [Ctrl]+[C] 以取消,然後必須重新執行。 如果您執行以下指令,請參閱 install_dir\samples\ee-samples\failover\apps\mqfailover\docs\index.html:
如果您已經執行任何其他 Enterprise Edition 範例的 asant setup-one-machine-cluster-without-ha 或 asant setup-one-machine-cluster-with-ha,則請執行 asant configure-mq;否則請執行 asant setup-one-machine-cluster-and-configure-mq。在這種情況下,指令顯示成功:
然後系統會無限期懸置。 解決方案 此時為 None。這種問題同樣影響在 Windows 上使用 ant 目標的所有 Enterprise Edition 範例。解決方法是按下 Ctrl+C 登出當機程序,然後再重新執行。 |
|||||
6198003 |
文件並未明確說明依照 asadmin 部署指示,您需要在建立 JMS 資源之後,才能執行 MQ 容錯移轉範例應用程式。 拋出的錯誤如下:
文件並未明確說明如果使用 asadmin deploy 指令進行手動部署,則必須手動建立 JMS 資源,以及應該使用提供的 ant 目標來部署範例應用程式。 解決方案 對於 build.xml 程序檔 (該程序檔可建立執行應用程式所需的 JMS 資源),請使用 asant 部署目標。 |
|||||
6198239 |
在 Linux 上,在 Web 服務/安全性範例中建立憑證期間發生執行階段錯誤。 在 Linux 上部署 install_dir/samples/webservices/security 範例 (basicSSl) 時,並未建立憑證,並且丟出如下類似錯誤:
問題是 NSS 程式庫在 Linux 安裝中的位置與在 Solaris 安裝中的位置不同。在 Linux 上進行部署時,您需要確認 LD_LIBRARY_PATH 指向了正確的 NSS 程式庫。在您所處的環境中,或在 install_dir/bin/asant shell 包裝程式程序檔中設定 LD_LIBRARY_PATH。 解決方案 執行下列動作之一:
|
本節說明與 Application Server 和 Web 應用程式安全性及憑證有關的已知問題和相關解決方案。
錯誤 ID |
摘要 |
---|---|
6183318 |
無法在包含 J2SE 5.0 的 Enterprise Edition 上執行 WebServiceSecurity 應用程式。 WebServiceSecurity 應用程式無法與 J2SE 5.0 一起執行,因為:
J2SE 工作小組已將此錯誤歸檔為「CR 6190389:為 RSA-PKCS1 與 RSA-OAEP wrap/unwrap 機制新增支援」。 解決方案 配合使用 J2SE 1.4.2與任何其他 JCE 提供者 (非依預設所包含的)。請注意,該配置中不存在硬體加速器支援。 |
6269102 |
SSL 終止無法正常工作;如果為 SSL 終止設定了負載平衡程式 (硬體),Application Server 會在重新導向期間將協定從 https 變更為 http。 解決方案 在硬體負載平衡程式與 Application Server 之間增加軟體負載平衡程式。 |
本節介紹已知的升級公用程式問題和相關的解決方案。
錯誤 ID |
摘要 |
||
---|---|---|---|
6165528 |
從 Application Server Enterprise Edition 8 升級至 Application Server Enterprise Edition 8.1 時,在除 install_dir /domains 目錄之外的自訂路徑中建立的網域無法直接升級。 當執行升級公用程式,並將 install_dir 識別為來源安裝目錄時,升級程序僅升級在 install_dir/domains 目錄下建立的網域。在其他位置建立的網域不能進行升級。 解決方案 在啟動升級程序之前,將不同位置的所有網域目錄複製到 install_dir/domains 目錄中。 |
||
6207337 |
在某些 Linux 系統上,按一下 [啟動升級精靈] 按鈕後,正在執行「適當的升級」的安裝程式無法啟動升級工具。 此問題已在多個 Linux 系統中發現,在 Java Desktop System 2 中最常見,但也見於 Red Hat 發行軟體中。 在最終的安裝程式螢幕上按一下 [啟動升級工具] 按鈕之後,安裝程式無法啟動升級工具以完成升級程序,且無限期當機,並不返回指令提示。 解決方案 如果使用指令行安裝模式現地執行升級,則不會遇到此問題。
如果您還選取安裝選項以註冊產品,請使用產品 [關於] 頁面上的連結進入註冊頁面。 |
||
6296105 |
在從 8.0 Platform Edition (PE) 升級至 8.1 Enterprise Edition (EE) UR2 期間或升級之後,自我簽署的憑證不受信任。 解決方案 從目標 domain.xml 中移除以下項目 (升級後),然後重新啟動伺服器: <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot} /config/keystore.jks</jvm-options>- <jvm-options>Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot} /config/cacerts.jks</jvm-options> |
本節說明已知的 Web 容器問題以及相關的解決方案。
錯誤 ID |
摘要 |
|||
---|---|---|---|---|
5004315 |
在 Windows 上,使用 --precompilejsp=true 部署應用程式可鎖定應用程式中的 JAR 檔案,進而導致以後的取消部署或重新部署失敗。 如果您在 Windows 上部署應用程式時請求 JSP 的預先編譯,則以後無法按預期嘗試取消部署或重新部署該應用程式 (或任何具有相同模組 ID 的應用程式)。問題在於 JSP 預先編譯會開啟應用程式中的 JAR 檔案,但不會關閉它們,同時 Windows 會防止取消部署刪除這些檔案或防止重新部署覆寫它們。 請注意,取消部署會延續至某個點,在該點上該應用程式會在邏輯上從 Application Server 中移除。還請注意,asadmin 公用程式不會傳回任何錯誤訊息,但應用程式的目錄和鎖定的 jar 檔案會保留在伺服器上。伺服器的記錄檔將包含描述無法刪除檔案和應用程式目錄的訊息。 取消部署失敗後會嘗試重新部署應用程式,因為伺服器會嘗試移除現有檔案與目錄,此嘗試仍失敗。如果您嘗試部署使用與原來部署的應用程式具有相同模組 ID 的任何應用程式,便會出現這種情況,因為伺服器使用該模組 ID 選擇目錄名稱以存放應用程式檔案。 基於同樣原因,不先取消部署即嘗試重新部署應用程式將會失敗。 診斷 如果您嘗試重新部署應用程式或在取消部署之後再部署該應用程式,asadmin 公用程式會傳回一個如下類似錯誤。
解決方案 如果您在部署應用程式時指定 --precompilejsps=false (預設的設定),則不會出現此問題。請注意,第一次使用應用程式將觸發 JSP 編譯,因此第一次請求的回應時間會比以後的請求的回應時間長。 還請注意,如果進行預編譯,應先停止並重新啟動伺服器,然後再取消部署或重新部署應用程式。關機會釋放鎖定的 JAR 檔案,因此重新啟動後才能成功取消部署或重新部署。 |
|||
6172006 |
無法使用基於 Servlet 2.4 並包含空 <load-on-startup> 元素的 web.xml 部署 WAR。 web.xml 中的選擇性 load-on-startup servlet 元素表示要載入相關的 servlet 並將其初始化為宣告該 servlet 的 Web 應用程式啟動的一部分。 該元素的可選內容是一個整數,表示要載入並初始化與 Web 應用程式之其他 servlet 相關的 servlet 的順序。只要在啟動其含有的 Web 應用程式過程中載入並初始化 servlet,空的 <load-on-startup> 即表示順序錯誤。 web.xml 的 Servlet 2.4 模式不再支援空的 <load-on-startup>,這意味著在使用基於 Servlet 2.4 的 web.xml 時,必須指定一個整數。若指定空的 <load-on-startup> (與 <load-on-startup/> 中相同),web.xml 將無法針對 web.xml 的 Servlet 2.4 模式進行驗證,進而導致部署 Web 應用程式失敗。 返回至相容性問題。指定空的 <load-on-startup> 仍可使用基於 Servlet 2.3 的 web.xml。 解決方案 使用基於 Servlet 2.4 的 web.xml 時,指定 <load-on-startup>0</load-on-startup>,以表示 servlet 載入順序並不重要。 |
|||
6184122 |
無法編譯資源受限伺服器上的 JSP 頁面。 存取 JSP 頁面後無法編譯,且伺服器記錄含有錯誤訊息「Unable to execute command」,以及以下堆疊追蹤:
解決方案 將 JSP 編譯切換「fork」設定為「false」。 有兩種方法可以執行此操作:
每一種設定均可防止 ant 產生新的 javac 編譯程序。 |
|||
6188932 |
Application Server 不支援 auth-passthrough Web Server 6.1 Add-On。 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Update 2 還支援 Sun Java System Application Server Enterprise Edition 7.1 具備的 auth-passthrough 外掛程式功能所提供之功能。但是在 Application Server Enterprise Edition 8.1 2005Q2 Update 2 中,auth-passthrough 外掛程式功能的配置方式不同。 Application Server Enterprise Edition 7.1 中的 auth-passthrough 外掛程式功能在雙階層部署分析藍本中非常有用,其中:
在此類網路架構中,用戶端連線至使用 service-passthrough 外掛程式功能配置的前端 Web 伺服器,並將 HTTP 請求轉寄至代理 Application Server 實例進行處理。Application Server 實例僅可接收來自 Web 伺服器代理伺服器的請求,而從不會直接接收來自於任何用戶端主機的請求。結果,部署在查詢用戶端資訊 (例如客戶端的 IP 位址) 的代理 Application Server 實例上的任何應用程式均將接收到代理主機 IP,因為這才是實際產生所傳送請求的主機。 在 Application Server Enterprise Edition 中,可在代理應用程式伺服器實例上配置 auth-passthrough 外掛程式功能,以直接為在其上部署的所有應用程式提供遠端用戶端資訊;這就好像代理應用程式伺服器實例直接接收請求,而不是透過執行 service-passthrough 外掛程式的中間 Web 伺服器接收請求。 在 Application Server Enterprise Edition 8.1 2005Q2 Update 2 中,可透過將 domain.xml 中 <http-service> 元素的 authPassthroughEnabled 特性設定為 TRUE 來啟用 auth-passthrough 功能,如下所示:
|
|||
|
Application Server Enterprise Edition 7.1 中 auth-passthrough 外掛程式功能的安全注意事項同樣適用於 Application Server Enterprise Edition 8.1 2005Q2 Update 2 中的 authPassthroughEnabled 特性。由於 authPassthroughEnabled 可以覆寫可用於認證目的之資訊 (例如,產生請求的 IP 位址或 SSL 用戶端憑證),因此,有必要僅允許受信任的用戶端或伺服器連線至將 authPassthroughEnabled 設定為 TRUE 的 Application Server Enterprise Edition 8.1 2005Q2 Update 2 實例。作為預警措施,建議您應僅將公司防火牆後的伺服器的 authPassthroughEnabled 設定為 TRUE。可透過網際網路存取的伺服器永遠不能將 authPassthroughEnabled 設定為 TRUE。 請注意,若在分析藍本中已使用 service-passthrough 外掛程式配置了代理 Web 伺服器,同時該伺服器將請求轉寄至 authPassthroughEnabled 設定為 TRUE 的 Application Server 8.1 Update 2 實例,則 SSL 用戶端認證可在該 Web 代理伺服器上啟用,並可在代理 Application Server 8.1 Update 2 實例上停用。在此情況下,代理 Application Server 8.1 Update 2 實例仍將請求作為已透過 SSL 認證的請求進行處理,並將用戶端的 SSL 憑證提供給需要此憑證的所有已部署的應用程式。 |