| |
1-48 Java zu abbildendem IDL, v1.3 September 2003 1 Methode einschließlich oder sonst ein BAD_PARAM Ausnahme mit kleinem Standardcode 39 muß seien geworfen Sie. Wenn das ORB das ValueHandler.writeValue benennt Methode, Strom Formatversion 1 wird angedeutet. Das valueHandlerCodeBaseDelegate Schnittstelle stellt eine Methode vor getRunTimeCodeBaseDelegate . Diese Methode bringt einen Implementierungsdelegierten zurück daß ein ORB verwenden kann, ein SendingContext::RunTime zu verursachen Gegenstandhinweis und a SendingContextRunTime halten Sie Kontext instand. Diese Methode ersetzt ValueHandler.getRunTimeCodeBase Methode, die mißbilligt wird. ValueHandler Gegenstand ging durch zurück Util.createValueHandler Methode muß führen Sie auch das ValueHandlerCodeBaseDelegate ein Schnittstelle. Durchführungsmodell für periodische Veröffentlichung Sonne liefert eine Implementierung von ValueHandler schließen Sie daß Handgriffe an Schreibens- und MesswertcRmi/idl Gegenstände, indem sie bilden, benennt zu auf der unteren EbenecCorba OutputStream und InputStream Gegenstände, die durch zur Verfügung gestellt werden können unabhängiger ORB-Verkäufer. Sonne-stellte Implementierung anfaßt zur Verfügung Abhängigkeiten mit der Javaveröffentlichungmaschinerie und schreiben alle mögliche serialized Daten durch zu den Strom des untereren Niveaus. Gewöhnlich führen die ORB-Verkäufer ihre eigenen GIOP-Eingangs- und -ausgangsströme ein. Bevor sie RMI-/idldaten übertragen, verursachen sie einen Gegenstand, der stützt ValueHandler Schnittstelle durch das Benennen createValueHandler Methode von javax.rmi.CORBA.Util Kategorie (sehen Sie Abschnitt 1,5,1,6, "Util," auf Seite 1-51). Wenn sie müssen marshal einen non-IDLwert, sie benennen ValueHandler.writeValue und wenn sie unmarshal einen non-IDLwert benötigen, benennen sie ValueHandler.readValue . Der ORB-Ausgangsstrom überschritt zu ValueHandlerMultiFormat.writeValue Methode muß einführen ValueOutputStream Schnittstelle (sehen Sie Abschnitt 1,5,1,3, "ValueOutputStream," an paginieren Sie 1-45) und der ORB-Eingangsstrom überschritt zum ValueHandler.readValue Methode muß das ValueInputStream einführen Schnittstelle (sehen Sie Abschnitt 1,5,1,4, "ValueInputStream," auf Seite 1-45). WertMarshaling Wenn er einen RMI-Wert marshaling, muß der ORB-Strom Util.getCodeBase benennen zu erhalten Sie die codebasezeichenkette, ValueHandler.getRMIRepositoryID erhalten Zeichenkette des Behälters Identifikation und ValueHandler.isCustomMarshaled sehen wenn der Wert ist die marshaled Gewohnheit und erfordert folglich a chunked die Kodierung. Der ORB-Strom schreibt den Wertumbau, das codebase (falls vorhanden) und den Behälter Identifikation. Er benennt ValueHandler.writeValue den Zustand des Wertes schreiben. Die ORB-Stromabkommen mit nulls, Umwege, Chunking und Endenumbauten. Das ORB wirft das ValueHandler Gegenstand zur Art ValueHandlerCodeBaseDelegate und seine Anrufe getRunTimeCodeBaseDelegate Methode zum Erhalten eines Implementierungsdelegierten von schreiben Sie CodeBaseOperations . Das ORB verursacht ein SendingContextRunTime |  |
|
| |
|
|