| |
September 2003 Java zum IDL-Diagramm: BeweglichkeitcSchnittstellen 1-49 1 halten Sie den Kontext instand, der einen Gegenstandhinweis für eine gebundene Implementierung enthält deren Delegierter ist dieses CodeBaseOperations Gegenstand. Klienten müssen diesen Service-Kontext auf senden erster GIOP-Antrag, der über einen Anschluß fließt, der benutzt werden kann, um RMI-Werte zu senden zum Bediener. Bediener müssen diesen Service-Kontext auf der ersten GIOP-Antwort senden, die fließt über einem Anschluß, der benutzt werden kann, um RMI-Werte zu schicken dem Klienten. Das ORB benennt das writeReplace Methode, bevor writeValue benannt wird . Das Resultat vom Benennen wird diese Methode zu ValueHandler.writeValue geführt es sei denn irgendein ? ist es ein vorher marshaled Wert, in diesem Fall es als Umweg marshaled, oder ? seine Kategorienwerkzeuge org.omg.CORBA.Object , in diesem Fall es wie marshaled ein Gegenstandhinweis. Ein ORB-Stromfall muß writeReplace nur benennen einmal für jeden Wert der es Marshals. Bevor das writeValue benannt wird Methode des ValueHandler Gegenstand, das ORB muß die zu verwendende Stromformatversion feststellen. Dieses ist das maximale Format Version, die durch beide das lokale ValueHandler gestützt wird Gegenstand und die Direktübertragung Anschlußendpunkt. Die maximale lokale Formatversion ist der Wert, der durch zurückgebracht wird getMaximumStreamFormatVersion Methode von ValueHandler Gegenstand oder 1 wenn das ValueHandler Gegenstand stützt nicht das ValueHandlerMultiFormat Schnittstelle. Die maximale Verweisformatversion ist 1 für Anzeigen GIOP 1,2 und 2 für Anzeigen GIOP 1,3, ausgenommen, denen diese Default-Werte durch irgendein überlaufen werden TAG_RMI_CUSTOM_MAX_STREAM_FORMAT TaggedComponent (sehen Sie Abschnitt 1,4,11, "TAG_RMI_CUSTOM_MAX_STREAM_FORMAT-Bestandteil," an Seite 1-40) oder das RMICustomMaxStreamFormat halten Sie Kontext instand (sehen Sie Abschnitt 1,4,12, "Service-Kontext RMICustomMaxStreamFormat," auf Seite 1-41). Für Anzeigen GIOP 1,2, Anerkennung von diesen läuft ist wahlweise freigestellt über. Wenn die Stromformatversion, die auf diese Art berechnet wird, 2 oder grösseres ist, muß das ORB benennen das ValueHandlerMultiFormat.writeValue Methode, diesen Wert führend. Wenn die Stromformatversion, die auf diese Art berechnet wird, ist 1, das ORB kann irgendein nennen ValueHandlerMultiFormat.writeValue Methode (mit Stromformat 1) oder ValueHandler.writeValue Methode. Wenn der Anruf des ORBs zum ValueHandler writeValue des Gegenstandes Methode spezifizierte Wertartstrom-Formatversion 2, dann das ValueHandler RMI/IDL kundenspezifische Gegenstand muß das ValueOutputStream.start_value benennen und ValueOutputStream.end_value Methoden des ORB-Stromes vorher und nachher die Daten schreiben spezifiziert durch Einzelteil 1d von Abschnitt 1,4,10, "kundenspezifisches Marshaling Format," auf Seite 1-39. Das rep_id Zeichenkette geführt zum start_value Methode muß sein "RMI:org.omg.custom.<class>:<hashcode>:<suid >" wo < Kategorie > ist der voll-qualifizierte Name des dessen writeObject der Kategorie Methode wird hervorgerufen und < hashcode > und < suid > sind der das hashcode und SUID Kategorie. Für Formatversion 2, wenn der ORB-Strom dem ValueHandler überschritt Gegenstand stützt nicht ValueOutputStream Schnittstelle, dann a BAD_PARAM Ausnahme mit Standard kleiner Code 40 muß geworfen werden. |  |
|
| |
|
|