前次更新 01/11/2002
這份文件會定期更新。 如果需要最新的版本,請檢視在 www.ibm.com/software/webservers/appserv/infocenter.html 的 WebSphere Application Server InfoCenter 網頁。
這些版次注意事項只適用於企業服務。 如果需要企業服務的說明,請參閱 Enterprise Edition InfoCenter 所提供的什麼是企業服務?這個主題。
下列產品有個別的版次注意事項:
必備項目
安裝企業服務
商業程序 Bean (BPBeans) 技術預覽
問題和解決方案
下列網站會列出 WebSphere Application Server 所需要或支援使用的軟體產品。
www.ibm.com/software/webservers/appserv/doc/latest/prereq.html
請注意:這個版次的企業服務不支援 CICS Universal Client 和交易閘道。
您可以在 Enterprise Services Installation Guide (pdf) 中,找到完整的安裝指示。
企業服務的大部分安裝架構(除了 CORBA C++ 從屬站)都會要求您先安裝 Advanced Edition 伺服器或從屬站,以提供 J2EE 基本程式。 如果要安裝第 4.1 版企業服務,您的 Advanced Edition 基礎層次必須是第 4.0.2 版。 這個層次相當於第 4.0 版(或第 4.0.1 版)加上 FixPack 2。您的 Enterprise Edition 包裝盒裡已有 Advanced Edition Version 4.0。 您可以從下列網頁中下載 FixPack 2:
http://www.ibm.com/support/manager.wss?rs=180&rt=0&org=SW&doc=4001038。
當您執行 WebSphere Application Server 的解除安裝時,會從系統中移除 Advanced Edition 和企業服務。 企業服務沒有個別的解除安裝程式。 請注意,在安裝企業服務之後,就沒有任何方法可解除安裝(或取消)Advanced Edition FixPack 2。
企業服務的範例展示區和 Advanced Edition 安裝架構不同,在「一般」安裝作業期間不會安裝它。 如果要安裝企業服務的範例,請選取「自訂」安裝選項,再從選項清單中選取「範例」。
BPBeans 是一項新的技術,用來建置使用延伸交易處理參照範例的 Java 元件。 BPBeans 可以執行下列動作:
BPBeans 是一項技術預覽。這表示您可以利用這項技術來示範或提供專案的「概念證明」。 您不能在生產環境中使用 BPBeans。 您可以將 BPBeans 安裝在 Windows NT 第 4 版(含 SP4 或更新的版本)或 Windows 2000 中。 這項技術預覽包括應用程式工具、執行時期和文件。 它只有美式英文版。
如果要安裝 BPBeans 技術預覽,請執行 Enterprise Edition Server CD 中的 Windows/BPB_tech_preview/BPBeansSetup.exe
指令。
這個指令會安裝應用程式工具、執行時期和文件。
下列各節提供已知問題和解決方案的相關資訊,以及 Enterprise Edition InfoCenter 中的主題的補充資訊。 除非另有說明,否則,這些問題和解決方案適用於所有支援的平台。
安裝
ActiveX 至 EJB 橋接
商業規則 Bean (BRBeans)
CORBA C++ SDK
延伸傳訊支援
國家語言問題
在含有文字欄位的安裝畫面中,在到達文字欄位之後,Tab 鍵無法繼續向前移動焦點,因而您會無法進入下一個畫面。
解決方案:請利用指標裝置按下一步按鈕。
在 Solaris 中安裝期間(X11 顯示畫面),當背景視窗取得焦點時,您用來選擇的小視窗可能會隱藏在較大的背景視窗後面。
解決方案:請按 Alt+Tab 鍵,將小視窗呼叫到前景中,再按一下小視窗,使它取得焦點。
當 Java 方法呼叫案例無法獲得保證(如 Visual Basic 將 myJavaObject.create 改成 myJavaObject.Create)時,會在 ActiveX 至 EJB 橋接中使用 Visual Basic 中的 CallByName() 函數。 如 Microsoft Knowledge Base 的第 Q194418 篇文章所說明(網址:http://support.microsoft.com/support/kb/articles/Q194/4/18.ASP):
「當在 ActiveX 伺服器的程序中產生錯誤,而程序是從屬站利用 CallByName() 函數所呼叫的,這時不論原來產生的錯誤碼為何,從屬站永遠會得到錯誤 440。」
在正常情況下,會擲出成為 0x6003 錯誤且將 Java 堆疊追蹤內嵌在錯誤說明中的所有 Java 異常狀況,都會擲出成錯誤 440,且錯誤說明中會內嵌「自動化錯誤」等文字。
解決方案:請完成下列步驟之一:
如果 XJBInit() 字串陣列中有任何無效的參數,可能會出現下列錯誤:
0x6002 當呼叫 XJBInit() 時,"XJBJNI::Init() 無法建立 VM"。
如果您已啟用 C++ 日誌記載,活動日誌會顯示出無效的參數。
ActiveX 至 EJB 橋接提供兩個日誌記載和追蹤格式:C++ 和 Java。
C++ 活動日誌
C++ 活動日誌會顯示 JNI 錯誤、Java 主控台錯誤訊息和 XJB 起始設定訊息。
這個日誌最適合用來判斷 XJBInit() 錯誤及任何不是來自 Java 環境的特殊異常狀況。
如果要啟用 C++ 活動日誌,您必須安裝 CORBA C++ SDK 從屬站。 安裝好之後,ActiveX 至 EJB 橋接會偵測到 SDK 的存在,且會自動啟用日誌記載。 如果需要如何修改日誌設定的詳細資料,請參閱 Enterprise Edition InfoCenter 中的「Corba 支援 > 開發 C++ CORBA 伺服器 > 指定執行時期內容」主題。
依預設,日誌是建立在 WAS_HOME\Enterprise\service
目錄中。
如果是「作用中伺服器頁面」這類服務程式,日誌是建立在 C:\WINNT\SYSTEM32\service
目錄中。
您可以利用 SOMCBASE 環境變數來置換預設日誌目錄,它是利用 WAS_HOME\Enterprise\bin
目錄中的 launchClientXJB.bat
和 setupCmdLineXJB.bat
來設定的。
比方說,如果要啟動內容檔,請依照下列方式來設定 SOMCBASE 環境變數(您必須使用「作用中伺服器頁面」的系統環境變數):
set SOMCBASE= C:\WebSphere\AppClient\Enterprise
應用程式重新啟動之後,會在 C:\WebSphere\AppClient\Enterprise\service
目錄中建立名稱為 activitycpp.log
的日誌檔。
如果要檢視日誌,請開啟一個指令視窗,將目錄切換至 C:\WebSphere\AppClient\Enterprise\service
,再輸入下列指令:
launchClientXJB showlogcpp activitycpp.log
如果在安裝好 C++ SDK 之後要停用日誌記載,請重新命名 WAS_HOME\Enterprise\bin
目錄中的 SOMRSBSM.DLL
檔。
請注意,重新命名這個 DLL 會使 C++ SDK 成為無法使用。
Java 追蹤日誌
Java 追蹤日誌會顯示可用來進行方法呼叫、類別查閱和引數強制等問題之除錯的資訊。
由於橋接的 Java 部分會鏡映 COM IDispatch 介面的功能,追蹤日誌中的資訊類似於 IDispatch 介面所預期提供的資訊。
如果要瞭解追蹤日誌,您必須有 IDispatch 的基本瞭解。
如果要啟用使用者日誌記載,請新增下列參數到 XJBInit()inputstringarray
中:
"-DtraceString=com.ibm.ws.client.xjb.*=event=enabled" "-DtraceFile=C:\MyTrace.txt"
比方說,如果您有下列 Visual Basic 程式碼的問題:
Dim oInt as Object
Dim strHexValue as String
Set oInt = oXJB.FindClass("java.lang.Integer")
strHexValue = oInt.toHexString(24579)
失敗那一行所產生的追蹤會有類似下列內容:
[01.07.31 11:17:13:815 CDT] 6b2d2635 JDispatch E dispGetIDsOfNames: Retrieving DISPID from Method or Field. ClassID:-102|ObjectID:0|Name:FindClass|Result DISPID:60 [01.07.31 11:17:13:875 CDT] 6b2d2635 JDispatch E dispInvoke: Retrieving Member from DISPID and Arg Types. ClassID:-102|ObjectID:0|DISPID:60|Arg Sig:Ljava.lang.String;|Found Member:public static java.lang.Class com.ibm.ws.client.xjb.JClassFactory.FindClass(java.lang.String) throws java.lang.Exception [01.07.31 11:17:13:946 CDT] 6b2d2635 JClassFactory E
FindClass complete. ClassName:java.lang.Integer|ClassID:-103 [01.07.31 11:17:13:946 CDT] 6b2d2635 JDispatch E dispInvoke: Method.invoke() Succeeded. Result:
class java.lang.Integer [01.07.31 11:17:13:956 CDT] 6b2d2635 JDispatch E dispGetIDsOfNames: Retrieving DISPID from Method or Field. ClassID:-103|ObjectID:0|Name:toHexString|Result DISPID:115 [01.07.31 11:17:13:986 CDT] 6b2d2635 JDispatch E dispInvoke: Retrieving Member from DISPID and Arg Types. ClassID:-103|ObjectID:0|DISPID:115|Arg Sig:S|Found Member:NOT FOUND
以下是上述追蹤的說明:
第 1 行: | 呼叫內部類別(號碼 -102)的 dispGetIDsOfNames(),尋找 FindClass 方法。它會傳回 DISPID(分派 ID)60。 |
第 2 行: | 呼叫相同內部類別(號碼 -102)的 dispInvoke() 方法,以 "Ljava.lang.String;" 這個引數簽章(java.lang.String 在 Java 內部的說法。 這是 javap.exe 所將輸出的格式)來嘗試和呼叫 DISPID 60 的相關方法。 找到成員,它的日誌會定義顯示在日誌中。 |
第 3 行: | 完成 FindClass() 方法,傳回 java.lang.Integer 的 ClassID -103 |
第 4 行: | dispInvoke:傳回結果類別 java.lang.Integer |
第 5 行: | 在 dispGetIDsOfNames 中找到 toHexString 方法,並傳回 DISPID 115。 |
第 6 行: | 不過,dispInvoke 找不到引數簽章為 "S" 的 DISPID 115("S" 是 "short" 在 Java 內部的說法)。 |
引數簽章(或描述子)定義如下:
BaseType Character | 類型 | 說明 |
B | byte |
含正負號位元組 |
C | char |
Unicode 字元 |
D | double |
倍精準度浮點數值 |
F | float |
單精準度浮點數值 |
I | int |
整數 |
J | long |
長整數 |
L<classname>; | reference |
<classname> 類別的實例 |
S | short |
含正負號短整數 |
Z | boolean |
true 或 false |
[ | reference |
一個陣列維度 |
如果需要詳細資料,請參閱 Sun VM 規格:http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html 的第 4.3.2 章「欄位描述子」。
在 ActiveX 至 EJB 橋接的範例程式碼和文件中,WAS_HOME 和 Java 目錄都會同時顯示正斜線和反斜線。
Windows NT 和 Windows 2000 兩者都可以處理混合的斜線。
比方說,C:/WebSphere/AppClient\java\jre
路徑是正確的。
ActiveX 至 EJB 橋接沒有主控台可用來檢視 Java System.out 訊息。 如果要在執行獨立式從屬站程式(如 Visual Basic)時檢視這些訊息,請將輸出重新導向到檔案中。 比方說,利用下列指令來啟動您的從屬站應用程式:
launchClientXJB.bat MyProgram.exe > output.txt
如果要在執行「作用中伺服器頁面」這類「服務」程式時檢視這些訊息,請將 Java 的 System.out OutputStream
物件置換為 FileOutputStream
。
比方說,在 VBScript 中,您會執行下列動作:
'將 system.out 重新導向到檔案中 ' 假設 oXJB 是起始設定的 XJB.JClassFactory 物件 Dim clsSystem Dim oOS Dim oPS Dim oArgs
' 取得 System 類別 Set clsSystem = oXJB.FindClass("java.lang.System")
' 建立 FileOutputStream 物件 Set oOS = oXJB.NewInstance(oXJB.FindClass("java.io.FileOutputStream"), "c:\sysout.txt")
' 建立 PrintStream 物件,將我們的 FileOutputStream 指派給它 Set oArgs = oXJB.GetArgsContainer oArgs.AddObject "java.io.OutputStream", oOS Set oPS = oXJB.NewInstance(oXJB.FindClass("java.io.PrintStream"), oArgs)
' 將我們的 System OutputStream 設定給我們的檔案 clsSystem.setOut oPS
如果在 BRBeans 範例(Movie 範例或 Simple 範例)中使用 DB2 以外的資料庫,您必須修改產生的 Table.ddl 檔。 如果需要詳細資料,請參閱修改 Table.ddl 檔以使用非 DB2 資料庫主題。
已在 <WAS_HOME>/Enterprise/BRBeans 目錄中新增名稱為 BRBeansInformix731.jar 的新 BRBeans Jar 檔來支援 Informix 第 7.3.1 版。 如果您要在存取 Informix 7.3.1 資料庫的伺服器中執行 BRBeans,您必須使用這個 Jar 檔。 如果是 Informix 第 9.2.1 版,請繼續使用 BRBeansInformix.jar 檔。
如果要在 Informix 第 7.3.1 版中執行 BRBeans,您也必須找到 Informix 錯誤號碼 153465 的修正套件。 這是 Informix JDBC 驅動程式的修正套件,適用於驅動程式的第 2.21 版及更新的版本。 如果沒有這個修正套件,BRBeans Enterprise Bean 就無法將它們的狀態儲存在資料庫中,BRBeans 也會無法運作。
如果指定驗證的話,在 BRBeans 部署期間,會出現四則警告訊息。 這些都是 createRule 的警告,指出 arg1 和傳回類型都必須是可序列化的。 您可以忽略這些警告訊息。
當從 XML 文件中匯入您利用 BRBeans 規則管理應用程式的匯出功能來建立的規則時,XML 剖析器會傳回指出無法剖析文件及沒有匯入規則的錯誤訊息。 只有在匯入利用規則管理應用程式(不是指令行公用程式)建立的文件時,才會發生這個情況。 發生這個情況,是因為規則管理應用程式的匯出功能不會在匯出的 XML 文件中加上正確的標題和標尾 XML 標示。
解決方案:請執行下列動作之一:
<!DOCTYPE brb SYSTEM "brb.dtd"> <brb>
請新增下面這一行到檔案結尾:
</brb>
由於 Merant SequeLink JDBC 驅動程式中的錯誤,clearParameters 方法不會適當重設參數來容許重複使用備妥陳述式。
解決方案:當在任何資料庫中使用 Merant SequeLink 驅動程式時,請將陳述式快取記憶體大小設為 0,以停用 BRBeans 資料來源的備妥陳述式快取。 如果使用 Advanced Edition,陳述式快取記憶體大小內容就是資料來源的「連線儲存池」內容之一。 如果使用 Advanced Developer Edition,陳述式快取記憶體大小內容就是資料來源內容之一。
當您觸發有相依規則的規則時,會從「基本資料夾」屬性設為非空值的觸發點傳回 NullPointerException。
解決方案:任何發動規則有相依規則的觸發點都不要設定基本資料夾屬性。
從在 Solaris 平台中執行的使用者介面要求說明之後,不會啟動 Netscape 瀏覽器。
解決方案:請設定階段作業的有效語言環境,並停用存取控制。
如果要設定有效的語言環境,請完成下列步驟:
locale -a
如果要設定語言環境,請輸入下列指令,其中的 locale 是有效的語言環境之一:
export LANG=locale
比方說,如果要將語言環境設為美國英文,請輸入:
export LANG=en_US
如果要停用存取控制,請輸入下列指令:
xhost +
請完成下列步驟來起始設定 C++ 伺服器和 C++ 位置服務常駐程式 sommorbd 所用的 cds 資料庫:
cdspop
來起始設定在 SOMCBASE/data 目錄中的 cds 資料庫。
如果您針對含有取得元和設定元的 Java 類別來執行 RMIC 的現行版本, 且這些取得元和設定元都是根據 JavaBean 命名慣例來命名的, RMIC 就會產生重複的取得元和設定元。
解決方案:請修改 Java 類別來重新命名取得元和設定元。
比方說,看看下面 Java 類別 "Book" 中的程式碼片段:
public class Book implements Serializable { private String BookTitle = null; private double price = 0.0; private int salesCount; public Book() { salesCount = 0; } public void setBookTitle( String name ) { bookTitle = name; } public String getBookTitle() { return( bookTitle ); } ...
上述程式碼含有 BookTitle 的取得元和設定元。 取得元和設定元遵循 JavaBeans 命名慣例:get<var> 和 set<var>。 這會造成 RMIC 的問題。 類別變數宣告為 private 的情況會使 RMIC 產生每個變數都有 public 和 attribute 宣告的 IDL,例如:
public long a; attribute long a;
當利用 IDLC 從 IDL 產生程式碼時,會為每個類別變數建立兩個取得元和兩個設定元,一個是公開的,另一個是受保護的,且不會編譯程式碼。
解決方案:請將 Java 類別中的取得元和設定元重新命名成不符合 JavaBean 命名慣例的名稱。
以下是使用 sendBookTitle
和 receiveBookTitle
的一種可能:
... salesCount = 0; } public void sendBookTitle( String name ) { bookTitle = name; } public String receiveBookTitle() ...
Enterprise Edition InfoCenter 中的 CORBA 支援文件指出,在值類型庫中,含有常用的 Java 初始資料類型的 C++ 值類型實作。 這是不正確的。
值類型庫支援 java.lang 套件中的許多初始類別,如 Integer、Short 和 Long。 這些並不等於 Java 初始類型,如 short、long 和 integer 等。 InfoCenter 中提供的 C++ 值類型庫實作的方法清單正確說明了所提供的各種 java.lang 類別; 不過,您應該忽略從 IDL 類型至 CORBA 類型的對映清單,因為這份清單與值類型庫無關。
在值類型庫中不支援 java::lang::Throwable
的 printStackTrace(java.io.PrintStream)
和 printStackTrace(java.io.PrintWriter)
方法,是因為將堆疊追蹤從 Java 傳遞至 C++ 執行時期有困難。
沒有提供 printStackTrace 方法 java.io.PrintStream
和 java.io.PrintWriter
的具體引數實作。
值類型庫所包含的串流和寫出器值類型(也就是 OutputStream、FilterOutputStream、PrintStream、Writer 和 PrintWriter)是無法作為 C++ 從屬站程式中之本端輸出串流的抽象類別。
值類型庫中沒有 Byte_init 方法 create__()
。
請忽略 CORBA 支援文件中任何引述這個方法之處。
在 InfoCenter 標題為「建立自己的 C++ 值類型」的文章中,請注意下列指令的更正:
在第 1 步驟中,指令應該是:
rmic -idl java.util.Hashtable
在第 2 步驟中,指令應該是:
idlc .... java/util/Hashtable.idl
如果要使用延伸傳訊支援,請下載和安裝 MQSeries SupportPac MA88 的最新層次:MQSeries Classes for Java 和 MQSeries Classes for Java 訊息服務: www.ibm.com/software/ts/mqseries/txppacs/ma88.html
請安裝第 1.1.3 版,日期為 08/29/01 或以後。
InfoCenter 文件及 MQSeries 文件都建議您將 MQSeries\java
目錄結構中的 Jar 檔和程式庫檔複製到各 WebSphere 目錄中。
當這項配置能夠運作時,為了可用性,不建議您這麼做。
MQSeries 的升級版和修正套件不會如預期般生效。
比較適當的方法是將這些 Jar 檔併入延伸傳訊支援服務的「自訂服務」類別路徑。
要併入的 MQSeries Jar 檔有 com.ibm.mq.jar
和 com.ibm.mqjms.jar
。
如果您是使用 Advanced Developer Edition (AEd),您也必須在「資源提供者」類別路徑中指定任何所需的命名提供者 Jar 檔。 請參閱問題 106821.RN,以取得詳細資訊。
由於 Advanced Edition for Developers (AEd) 不提供持續性名稱空間,因此,當使用 AEd 配置延伸傳訊支援時,您必須使用第二個命名提供者。
解決方案:請完成下列步驟,將檔案系統提供者配置成第二個命名提供者:
附註:檔案系統命名提供者會使用系統內容 "file.separator" 作為分隔字元。 在 Windows 平台中,請注意,通常連結成 jms/mq/Destination 的名稱會連結成 jms\mq\Destination 名稱。 您可能需要用兩個反斜線 (\\) 來跳出單一反斜線 (\)。
JMSAdmin.config
檔。
C:\temp\JNDI-Directory
。
JMSAdmin.bat
,依照正常方式來連結 ConnectionFactories 和 Queues/Topics。
http://localhost:9090/admin
)。
MQSeriesInstallDir\java\lib\fscontext.jar;
MQSeriesInstallDir\java\lib\providerutil.jar;
MQFscontextProvider
com.sun.jndi.fscontext.RefFSContextFactory
file:/C:/temp/JNDI-Directory
連線 Factory:
名稱:ConnectionFactory
JNDI 名稱:Sample/JMS/ConnectionFactory
JNDI 外部名稱 (Windows):Sample\JMS\ConnectionFactory
JNDI 外部名稱 (Unix):Sample/JMS/ConnectionFactory
名稱:Q1
JNDI 名稱:Sample/JMS/Q1
JNDI 外部名稱 (Windows):Sample\JMS\Q1
JNDI 外部名稱 (Unix):Sample/JMS/Q1
當您在 Linux SuSE 第 7.2 版中執行 MQSeries 時,在您發出啟動指令:strmqbrk -m <Queue Manager>
之後,無法完成訊息分配管理程式起始設定,您不能按下 CTRL+C 來中斷指令。如果您利用 dspmqbrk
指令來檢查訊分配管理程式的狀態,結果仍是「佇列管理程式 <Queue Manager> 的 MQSeries 訊息分配管理程式正在啟動中。」
沒有解決方案,因此,您目前無法執行在 Linux SuSE 第 7.2 版中使用發佈/訂閱的 WebSphere 應用程式。
HP-UX 中的 WebSphere 所提供的 JVM 不支援 MQSeries 佇列管理程式所用的編碼。 當您試圖傳送或發佈訊息到佇列時,這會使 JMS 類別擲出錯誤碼為 MQJMS1086 的 JMSException 及 UnsupportedEncodingException 類型的鏈結異常狀況。
解決方案:請變更佇列管理程式所用的編碼。 請輸入下列指令來變更 CCSID 值 850 或 819:
runmqsc
alter qmgr CCSID(850)
如果需要詳細資訊,請參閱 MQSeries 書籍「使用 Java」一書的第 2 章。
MQSeries SupportPac MA88 所提供用來管理 JMS 物件的 JMSAdmin 工具需要您指定若干配置參數。 起始環境定義 Factory 內容目前有三個支援的值:
com.sun.jndi.ldap.LdapCtxFactory
(適用於 LDAP)
com.sun.jndi.fscontext.RefFSContextFactory
(適用於檔案系統環境定義)
com.ibm.ejs.ns.jndi.CNInitialContextFactory
(以使用 WebSphere 命名儲存庫)
WebSphere Application Server 已更換了 com.ibm.ejs.ns.jndi.CNInitialContextFactory
,因此,您應該改用 com.ibm.websphere.naming.WsnInitialContextFactory
。
如果要讓 JMSAdmin 使用 WebSphere 命名儲存庫,它仍需要使用 com.ibm.ejs.ns.jndi.CNInitialContextFactory
。
WebSphere Application Server 和所管理的 JMS 物件可用這些不同的起始環境定義 Factory 值來共同運作。
如果 LIBPATH 環境變數沒有包含 MQSeries Java 程式庫的路徑,就會擲出下列異常狀況:
異常狀況:
java.library.path 中沒有 mqjbnd02(libmqjbnd02.a 或 .so)
java.lang.UnsatisfiedLinkError:java.library.path 中沒有 mqjbnd02(libmqjbnd02.a 或 .so)
解決方案:請新增下列路徑到 LIBPATH 環境變數中:
/mq_install_path/java/lib
當從 Websphere Application Server 內使用 MQSeries 時,建立 JMS QueueConnection 或 WMQ MQQueueManager 可能會失敗,WMQ 原因碼為 2059,即使佇列管理程式正在執行中也是如此。 這是因為 WebSphere 使用的佇列管理程式連結連線可能需要一些額外配置。
解決方案:如果您是使用 MQSeries 第 5.2 版,另外還有一個段落可新增到會影響 MQSeries 在連接時所用的共用記憶體部分的 mqs.ini 中(mqs.ini 檔通常可在 /var/mqm 目錄中找到)。 參數是 "IPCCBaseAddress",它是就個別佇列管理程式為基礎來設定的。 依預設,這個參數的值會設為 "8",但建議採用的值是 "11"(這個參數所能使用的值有 "4"、"5"、"8"、"9"、"10"、"11" 或 "12")。
以下是 mqs.ini 檔中改變了的 QueueManager 段落的範例:
QueueManager:
Name=MQJavaTest
Prefix=/var/mqm
IPCCBaseAddress=11
佇列管理程式必須重新循環,變更才會生效。 如果 "11" 不容許應用程式正常連接,請嘗試其他值。 應用程式(WebSphere、DB2...等)中涉及越多元件,MQSeries 所能使用的共用記憶體越少。
請造訪下列網站,以取得這個問題最新的相關資訊:
http://www.ibm.com/software/ts/mqseries/support/summary/javasupp.html
當應用程式資料庫和管理資料庫都在遠端時,就不會發生這個問題。
當在 MQSeries 佇列管理程式停止作業之後,在試圖停止應用程式伺服器時,伺服器程序會擲出 java.exe 中的存取違規。 當在伺服器中配置了延伸傳訊支援,且利用它在 MQSeries JMS 目的地進行接聽,就會發生這個情況。
解決方案:當使用延伸傳訊支援時,在停止應用程式伺服器之前,請勿停止 MQSeries 佇列管理程式。 如果異常失敗造成佇列管理程式停止作業,請在管理主控台中執行應用程式伺服器的強制停止。
試圖停止和重新啟動 MQSeries 佇列管理程式會發生下列錯誤:
AMQ8041:無法重新啟動或刪除佇列管理程式,因為先前所連接的程序仍在執行中。
解決方案:請重新啟動 MQSeries 和 WebSphere Application Server。
MQSeries 第 5.2 版 CSD 3 層次已排定要提供這個問題的修正套件。 請造訪 MQSeries 支援頁面,以取得更新項目:
http://www.ibm.com/software/ts/mqseries
當在 JMS 接聽器所驅動的訊息 Bean 中接收 javax.jms.ObjectMessage 時,JMS ObjectMessage 的 getObject() 呼叫有時會傳回 ClassDefNotFound 異常狀況。 當 ObjectMessage 內所包含的應用程式類別是在 Enterprise Bean 類別載入器中找到,而不是在系統類別路徑中找到,因而無法載入時,就會發生這個異常狀況。
解決方案:請將 jar 檔複製到 \WebSphere\AppServer\lib\ext
目錄中,以將物件類別定義放在 ws.ext.dirs 類別路徑內。
如果您以利用相同 MQ JMS 訂閱佇列來訂閱 JMS 主題的 JMS 接聽器配置兩個 WebSphere Application Server,您可能會間歇地遺失發佈資訊或在主控台中出現下列錯誤訊息:
MQJMS1031:發生內部錯誤
發生這個情況,是因為 MQSeries JMS 發佈/訂閱支援需要每個 JVM 訂戶連線使用者都要使用不同的訂閱佇列。
解決方案:當您使用 JMSAdmin 來建立 TopicConnectionFactory 時,請指定唯一的 BROKERCCSUBQ() 訂閱佇列名稱,
或指定字首來使用多重佇列機能;例如,BROKERCCSUBQ(SYSTEM.JMS.ND.CC.MySubQueues.*)
。
在這個版次中,國際化服務不支援 java.util.SimpleTimeZone
以外的 Java 2 SDK TimeZone 類型。
當提供不受支援的 TimeZone 類型給服務 API 方法時,這個類型會無聲地對映至預設的 SimpleTimeZone。
這會有下列結果:
java.util.SimpleTimeZone
類型的引數會對映至包含程序之預設 java.util.SimpleTimeZone
。
java.util.SimpleTimeZone
。
在 HP-UX 第 11.11 版中,只有 Netscape 的英文語言環境版本是預設應用程式。因此,當您安裝好非英文的 WebSphere Application Server 之後,會無法開啟 README 檔。
解決方案:請從指令提示中,輸入下列指令來開啟 README:
netscape [WAS_HOME]/Enterprise/readme/xx_XX/readme.htm
其中 xx_XX 是下列項目之一:
de_DE 德文
en_US 英文
es_ES 西班牙文
fr_FR 法文
it_IT 義大利文
ja_JP 日文
ko_KR 韓文
pt_BR 巴西葡萄牙文
zh_CN 簡體中文
zh_TW 繁體中文
當在 DOS 視窗中執行指令時,輸出訊息中會有毀損的字元。
解決方案:請將 DOS 指令重新導向至輸出檔,再利用 Windows 撰寫編輯器來檢視輸出檔。