Java 小型用戶端
Java™ 小型用戶端是使用應用程式用戶端安裝架構或 WebSphere® Application Server 安裝架構的執行時期環境的 JavaPlatform Standard Edition (Java SE) 模式。 Java 小型用戶端執行時期環境提供完整功能 Java SE 用戶端應用程式所需的支援,用於物件解析、安全、可靠性可用性和服務功能 (RAS) 及其他服務。 不過, Java 小型用戶端不支援可讓您輕鬆存取這些服務的「用戶端儲存器」。
Java 小型用戶端有時稱為 Java 小型應用程式用戶端。
Java 小型用戶端的設計旨在支援那些想要完整功能 Java SE 用戶端應用程式設計環境的使用者使用所提供的 IBM® JRE ,而在用戶端機器上沒有 Java Platform, Enterprise Edition (Java EE) 平台的額外負擔。
Java 小型用戶端不會對用戶端應用程式可能需要的任何服務執行起始設定。 例如,用戶端應用程式負責透過 CosNaming 或 JNDI API 來起始設定命名服務。
Java 小型用戶端不支援對 Enterprise Bean 和本端資源使用邏輯名稱 (暱稱
)。 當用戶端應用程式解析 Enterprise Bean 的參照 (使用「Java 命名和目錄介面 (JNDI)」或 CosNaming) 時,應用程式必須知道名稱伺服器的位置,以及將參照連結到名稱空間時所用的完整名稱。 當用戶端應用程式解析本端資源的參照時,它無法透過 JNDI 查閱來解析出資源。 相反地,用戶端應用程式必須使用適當的 API 來明確建立與資源的連線; 例如, JDBC 或 Java 訊息服務 (JMS)。 如果 Enterprise Bean 或資源的位置發生變化,小型用戶端應用程式也必須變更放在 lookup() 陳述式的值。
Java 小型用戶端執行時期環境提供 Java SE 用戶端應用程式存取遠端 Enterprise Bean 的支援,並提供各種 Enterprise Bean 服務的實作。 用戶端應用程式也可以使用 Java 小型用戶端執行時期環境來存取 CORBA 物件及 CORBA 型服務。
Java 小型用戶端使用 RMI-IIOP 通訊協定,可讓用戶端應用程式同時存取 Enterprise Bean 參照和 CORBA 物件參照。 使用這個通訊協定也可讓用戶端應用程式使用任何支援的 CORBA 服務。 搭配 CORBA 的協助工具來使用 RMI/IIOP 通訊協定,可協助您開發同時需要存取 Enterprise Bean 參照和 CORBA 物件參照的用戶端應用程式。
如果您選擇在相同用戶端應用程式中同時使用 Enterprise Bean 和 CORBA 程式設計模型,您需要瞭解這些程式設計模型之間的差異,才能管理好這兩個環境。 例如,CORBA 程式設計模型需要 CORBA CosNaming 名稱服務,才能進行名稱空間中的物件解析。 Enterprise Bean 程式設計模型需要 JNDI 名稱服務。 用戶端應用程式必須起始設定,且必須適當地管理這兩個命名服務。
Java 小型應用程式用戶端提供批次指令,可用來設定 CLASSPATH 和 JAVA_HOME 環境變數,以啟用 Java 小型應用程式用戶端執行時期。
如果發生導致用戶端無法與節點代理程式通訊,或新的埠資料無法在叢集成員與節點代理程式之間傳播的任何問題,則可能會發生用戶端要求失敗。 在某些情況下,這些失敗是暫時的。 在其他情況下,您需要重新啟動一或多個處理程序才能解決失敗。
如果要避開這些情況下可能發生的用戶端遞送問題,您可以對叢集成員配置靜態埠。 有了靜態埠,埠資料就不會因為用戶端程序取得叢集成員相關資訊而變更。 即使叢集成員重新啟動,或在程序之間發生通訊或資料傳送問題,用戶端保留的埠資料將仍然有效。 這樣的規避做法不一定能夠解決基礎通訊或資料傳送問題,但會解決非預期或不平衡的遞送決策症狀。
[ERROR] sun/io/MalformedInputException java.lang.NoClassDefFoundError: sun/io/MalformedInputException at com.ibm.rmi.iiop.CDRReader.getTcsCConverter(CDRReader.java:451) at com.ibm.rmi.iiop.CDRReader.readStringOrIndirection(CDRReader.java:532)
......
In Java (Oracle and IBM JRE), the default endorsed dirs directory is located in: <JAVA_HOME>\jre\lib\endorsed
You can change the default of endorsed-dirs by using the parameter: -Djava.endorsed.dirs=<<Path to endorsed dir>>