$BL\ | $BA0$N9`L\(B | $B Java Remote Method Invocation


7.4 $B5/F0%$%s%?%U%'!<%9(B

RMI $B5/F0%W%m%H%3%k$G$O!"%7%9%F%`$N@5>o$JF0:n$N$?$a!"%"%/%F%#%Y!<%?$K4X$7$F
$B%"%/%F%#%Y!<%?$O!"5/F0=hM}$K4XM?$9$k%0%k!<%W$H%*%V%8%'%/%H$+$i@.$kE,@Z$J>pJs$N%G!<%?%Y!<%9$rJ];}$7$^$9!#(B


7.4.1 Activator $B%$%s%?%U%'!<%9(B

$B%"%/%F%#%Y!<%?$O!"5/F0%W%m%;%9Cf$K$+$+$o$k%(%s%F%#%F%#$N(B 1 $B$D$G$9!#A0=R$7$?$h$&$K!"%U%)%k%H;2>H(B ($B%9%?%VFb(B) $B$O!"5/F02DG=%j%b!<%H%*%V%8%'%/%H$X$N!V%i%$%V!W;2>H$ractivate $B%a%=%C%I$r8F$S=P$7$^$9!#%"%/%F%#%Y!<%?$O!"5/F0MW5a$rid $B$KBP1~$9$k5/F05-=R;R$rC5$7!"$=$N%*%V%8%'%/%H$r5/F0$9$Y$-%0%k!<%W$rFCDj$7$F!"$=$N5/F0%0%k!<%W$N%$%s%9%?%s%7%(!<%?$N(B newInstance $B%a%=%C%I$r8F$S=P$7$^$9(B ($B%j%b!<%H%$%s%?%U%'!<%9(B ActivationGroup $B$K$D$$$F$O8e=R(B)$B!#I,MW$G$"$l$P!"%"%/%F%#%Y!<%?$O5/F0%0%k!<%W$Nl9g!"%"%/%F%#%Y!<%?$O$=$N5/F0%0%k!<%W$N;R(B JVM $B$r@8@.$7!"@8@.$7$?(B JVM $BFb$G5/F0%0%k!<%W$rN)$A>e$2$^$9!#(B

$B%"%/%F%#%Y!<%?$O!"5/F0%0%k!<%W$N%(%i!<$r4F;k!"8!=P$7!"%(%i!<$N:]$O!"$=$NFbIt%F!<%V%k$+$i8E$$%j%b!<%H;2>H$r:o=|$7$^$9!#(B

package java.rmi.activation;

public interface Activator extends java.rmi.Remote { java.rmi.MarshalledObject activate(ActivationID id, boolean force) throws UnknownObjectException, ActivationException, java.rmi.RemoteException; }

activate $B%a%=%C%I$O!"5/F0<1JL;R(B id $B$K4XO"IU$1$i$l$?%*%V%8%'%/%H$r5/F0$7$^$9!#$=$N%*%V%8%'%/%H$,$9$G$K%"%/%F%#%V$J>uBV$K$"$k$3$H$r%"%/%F%#%Y!<%?$,CN$C$F$*$j!"$J$*$+$D(B force $B%Q%i%a!<%?$,(B false $B$N>l9g$O!"%9%?%V$,!V%i%$%V!W;2>H$H$H$b$K$?$@$A$K8F$S=P$7B&$KJV$5$l$^$9!#(B $B0lJ}!"BP1~$9$k%j%b!<%H%*%V%8%'%/%H$,%"%/%F%#%V$J>uBV$K$"$k$3$H$r%"%/%F%#%Y!<%?$,CN$i$J$$$+!"$^$?$O(B force $B%Q%i%a!<%?$,(B true $B$N>l9g$O!"%"%/%F%#%Y!<%?$O5/F05-=R;R>pJs(B ($BA0$K(B id $B$rActivationInstantiator $B$,$9$G$KB8:_$9$k>l9g$O!"%"%/%F%#%Y!<%?$O5/F0%$%s%9%?%s%7%(!<%?$N(B newInstance $B%a%=%C%I$r8F$S=P$7!"%*%V%8%'%/%H$N(B id $B$H5/F05-=R;R$r0z?t$H$7$FEO$7$^$9!#(B

$BFCDj$7$?%*%V%8%'%/%H$N%0%k!<%W5-=R;R$KBP1~$9$k5/F0%$%s%9%?%s%7%(!<%?$^$?$O%0%k!<%W$,$^$@B8:_$7$J$$>l9g$O!"%"%/%F%#%Y!<%?$O!";R%W%m%;%9$r@8@.$9$k$J$I$NJ}K!$K$h$j(B ActivationInstantiator $B$NActivationInstantiator $B$r:F:n@.$9$k$H$-$O!"$=$N%0%k!<%W$N@8@.HV9f$r%$%s%/%j%a%s%H$7$J$1$l$P$J$j$^$;$s!#@8@.HV9f$O%<%m$+$i;O$^$j$^$9!#5/F0%7%9%F%`$O!"@8@.HV9f$K$h$j!"?7$7$$(B ActivationSystem.activeGroup $B$*$h$S(B ActivationMonitor.inactiveGroup $B$N8F$S=P$7$r8!=P$7$^$9!#F1$8%0%k!<%W$G!"8=:_$N@8@.HV9f$h$j$b


$BCm(B - $B?7$7$$5/F0%0%k!<%W$rActivationGroup.createGroup $B%a%=%C%I$G5/F0%0%k!<%W$r:n@.$9$k$N$KI,MW$J>pJs$r5,Dj$7$F0z$-EO$9I,MW$,$"$j$^$9!#$3$N>pJs$r!"@8@.$5$l$?%W%m%;%9$K$I$N$h$&$K0z$-EO$9$+$K$D$$$F$O5,Dj$5$l$F$$$^$;$s$,!"@0Ns2=$5$l$?%*%V%8%'%/%H$N7A<0$G;R%W%m%;%9$N!VI8=`F~NO!W$KAw$k$3$H$,2DG=$G$9!#(B
$B%"%/%F%#%Y!<%?$O!"(BActivationSystem.activeGroup $B%a%=%C%I$K$h$j5/F0%0%k!<%W$N;2>H$H@8@.HV9f$,4^$^$l$k5/F0%0%k!<%W$N%3!<%k%P%C%/$rnewInstance $B%a%=%C%I$r8F$S=P$7$F!"J]N1>uBV$K$J$C$F$$$k5/F0MW5a$r5/F0%$%s%9%?%s%7%(!<%?$KE>Aw$7!"7k2L(B ($B!V@0Ns2=$5$l$?!W%j%b!<%H%*%V%8%'%/%H$N;2>H!"$D$^$j%9%?%V(B) $B$r$=$l$>$l$N8F$S=P$7B&$KJV$9$3$H$,$G$-$^$9!#(B

$B%"%/%F%#%Y!<%?$O!"%*%V%8%'%/%H$N%3!<%I$r%m!<%I$7$?$j!"%*%V%8%'%/%H$NJ,;6%,%Y!<%8%3%l%/%7%g%s$K4XM?$7$?$j$7$J$/$F$b$h$$$h$&$K!"(BRemote $B%*%V%8%'%/%H$G$O$J$/(B MarshalledObject $B$rH$rJ];}$7$F$$$l$P!"DL>o$NJ,;6%,%Y!<%8%3%l%/%7%g%s5!9=$N2<$G$O!"%"%/%F%#%Y!<%?$O%j%b!<%H%*%V%8%'%/%H$,%,%Y!<%8%3%l%/%H$5$l$k$N$rKI$0$3$H$,$G$-$^$9!#(B

$B5/F0$,<:GT$7$?>l9g!"(Bactivate $B%a%=%C%I$O(B ActivationException $B$r%9%m!<$7$^$9!#5/F0$,<:GT$9$k860x$H$7$F$O!"%/%i%9$,8+$D$+$i$J$$!"5/F0%0%k!<%W$K%"%/%;%9$G$-$J$$$J$I!"$5$^$6$^$JMW0x$,$"$j$^$9!#;XDj$5$l$?5/F0<1JL;R(B id $B$KBP1~$9$k5/F05-=R;R$,$3$N%"%/%F%#%Y!<%?$GEPO?$5$l$F$$$J$$>l9g$O!"(Bactivate $B%a%=%C%I$O(B UnknownObjectException $B$r%9%m!<$7$^$9!#%"%/%F%#%Y!<%?$N%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B


7.4.2 ActivationSystem $B%$%s%?%U%'!<%9(B

ActivationSystem $B$O!"%0%k!<%W$H!"$=$N%0%k!<%WFb$G5/F0$5$;$k!V5/F02DG=!W%*%V%8%'%/%H$rEPO?$9$kActivationSystem $B$O!"(BActivationSystem $B$GEPO?$5$l$?%*%V%8%'%/%H$r5/F0$9$k(B Activator $B$H!"%"%/%F%#%V$J%*%V%8%'%/%H$d!"%"%/%F%#%V$G$J$$%*%V%8%'%/%H!"$^$?$O%"%/%F%#%V$G$J$$%0%k!<%W$K4X$9$k>pJs$rActivationMonitor $B$NAPJ}$HL)@\$K4XO"$7$J$,$iF0:n$7$^$9!#(B

package java.rmi.activation;

public interface ActivationSystem extends java.rmi.Remote { public static final int SYSTEM_PORT = 1098; ActivationGroupID registerGroup(ActivationGroupDesc desc) throws ActivationException, java.rmi.RemoteException; ActivationMonitor activeGroup(ActivationGroupID id, ActivationInstantiator group, long incarnation) throws UnknownGroupException, ActivationException, java.rmi.RemoteException; void unregisterGroup(ActivationGroupID id) throws ActivationException, UnknownGroupException, java.rmi.RemoteException; ActivationID registerObject(ActivationDesc desc) throws ActivationException, UnknownGroupException, java.rmi.RemoteException; void unregisterObject(ActivationID id) throws ActivationException, UnknownObjectException, java.rmi.RemoteException; void shutdown() throws java.rmi.RemoteException; }


$BCm(B - $B%;%-%e%j%F%#J]8n$N$?$a!">e5-$N$9$Y$F$N%a%=%C%I(B (registerGroup$B!"(BactiveGroup$B!"(BunregisterGroup$B!"(BregisterObject$B!"(BunregisterObject$B!"$*$h$S(B shutdown) $B$O!"5/F0%7%9%F%`$H$O0[$J$k%[%9%H>e$GF0:n$7$F$$$k%/%i%$%"%s%H$+$i8F$S=P$5$l$?>l9g!"(Bjava.rmi.RemoteException $B$N%5%V%/%i%9$G$"$k(B java.rmi.AccessException $B$r%9%m!<$7$^$9!#(B
registerObject $B%a%=%C%I$O!"5/F05-=R;R(B desc $B$NEPO?$H!"5/F02DG=%j%b!<%H%*%V%8%'%/%H$N5/F0<1JL;R$NActivationSystem $B$O!"5/F05-=R;R(B desc $B$G;XDj$5$l$?%*%V%8%'%/%H$N(B ActivationID ($B5/F0<1JL;R(B) $B$r:n@.$7!"8e$N;HMQ$KHw$($F5/F05-=R;R$H!"$=$l$K4XO"IU$1$i$l$?<1JL;R$r0BDj5-21NN0h$K5-O?$7$^$9!#(BActivator $B$O!"FCDj$N<1JL;R$rBP>]$H$7$?(B activate $BMW5a$rpJs$r;HMQ$7$F%*%V%8%'%/%H$r5/F0$7$^$9!#(Bdesc $B$G;2>H$5$l$F$$$k%0%k!<%W$,$3$N%7%9%F%`$KEPO?$5$l$F$$$J$$>l9g$O!"(BregisterObject $B%a%=%C%I$O(B UnknownGroupException $B$r%9%m!<$7$^$9!#%G!<%?%Y!<%9$N99?7$N<:GT$J$I$,860x$GEPO?$,<:GT$7$?>l9g$O!"(BActivationException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B

unregisterObject $B$O!"5/F0<1JL;R(B id $B$H!"$=$l$K4XO"IU$1$i$l!"(BActivationSystem $B$KEPO?$5$l$F$$$k5-=R;R$r:o=|$7$^$9!#8F$S=P$740N;8e$O!"%*%V%8%'%/%H$O$=$N5/F0(B id $B$G$O5/F0$G$-$J$/$J$j$^$9!#;XDj$5$l$?%*%V%8%'%/%H(B id $B$,5/F0%7%9%F%`$,CN$i$J$$(B ($BEPO?$5$l$F$$$J$$(B) $B<1JL;R$G$"$k>l9g$O!"(BunregisterObject $B%a%=%C%I$O(B UnknownObjectException $B$r%9%m!<$7$^$9!#%G!<%?%Y!<%999?7$N<:GT$J$I$,860x$GEPO?2r=|=hM}$,<:GT$7$?>l9g$O!"(BActivationException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B

registerGroup $B%a%=%C%I$O!"%0%k!<%W5-=R;R(B desc $B$G;XDj$5$l$?5/F0%0%k!<%W$r5/F0%7%9%F%`$KEPO?$7!"$=$N%0%k!<%W$K3d$jEv$F$i$l$?(B ActivationGroupID $B$rJV$7$^$9!#%*%V%8%'%/%H$r5/F0%0%k!<%W$KEPO?$9$kA0$K!"$=$N5/F0%0%k!<%W$r(B ActivationSystem $B$KEPO?$7$F$*$/I,MW$,$"$j$^$9!#%0%k!<%W$NEPO?$,<:GT$7$?>l9g$O!"$3$N%a%=%C%I$O(B ActivationException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B

activeGroup $B%a%=%C%I$O!"(BActivationGroup $B$+$i$N%3!<%k%P%C%/(B ($B<1JL;R(B id $B$rH<$&(B) $B$G$"$j!"(Bgroup $B$,8=:_%"%/%F%#%V$J>uBV$K$"$j!"$=$N(B JVM $B$N(B ActivationInstantiator $B$K$J$C$F$$$k$3$H$r5/F0%7%9%F%`$KCN$i$;$^$9!#$3$N%a%=%C%I$O!"$=$N%0%k!<%WFb$N%0%k!<%W$^$?$O%*%V%8%'%/%H$,%"%/%F%#%V$G$J$/$J$C$?$J$I!"%*%V%8%'%/%H$H%0%k!<%W$N>uBV$NJQ2=$r%7%9%F%`$KEA$($k$?$a$K%0%k!<%W$,;HMQ$9$k(B ActivationMonitor $B$rActivationGroup.createGroup $B%a%=%C%I$K$h$jFbItE*$K8F$S=P$5$l$^$9!#;XDj$5$l$?%0%k!<%W$,EPO?$5$l$F$$$J$$>l9g$O!"(BactiveGroup $B%a%=%C%I$O(B UnknownGroupException $B$r%9%m!<$7$^$9!#;XDj$5$l$?%0%k!<%W$,$9$G$K%"%/%F%#%V$J>uBV$K$"$k>l9g$O!"(BActivationException $B$r%9%m!<$7$^$9!#5/F0%7%9%F%`$N%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B

unregisterGroup $B%a%=%C%I$O!";XDj$5$l$?<1JL;R(B id $B$r;}$D5/F0%0%k!<%W$r5/F0%7%9%F%`$+$i:o=|$7$^$9!#5/F0%0%k!<%W$O!"<+J,<+?H$rGK4~$9$Y$-$G$"$k$3$H$r%"%/%F%#%Y!<%?$KEA$($k$?$a!"$3$N%3!<%k%P%C%/$r9T$$$^$9!#$3$N8F$S=P$7$,@.8y$7$?>l9g$O!"$=$N%0%k!<%W$K%*%V%8%'%/%H$rEPO?$7$?$j!"$=$N%0%k!<%WFb$G%*%V%8%'%/%H$r5/F0$7$?$j$9$k$3$H$O$G$-$J$/$J$j$^$9!#$=$N%0%k!<%W$K4X$9$k>pJs$H!"$=$N%0%k!<%W$K4XO"IU$1$i$l$?%*%V%8%'%/%H$O$9$Y$F%7%9%F%`$+$i:o=|$5$l$^$9!#;XDj$5$l$?%0%k!<%W$,EPO?$5$l$F$$$J$$>l9g$O!"$3$N%a%=%C%I$O(B UnknownGroupException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#%G!<%? $B

l9g!"%G%U%)%k%H%]!<%H>e$N%G!<%b%s$,%7%c%C%H%@%&%s$5$l$^$9!#(B


7.4.3 ActivationMonitor $B%/%i%9(B

ActivationMonitor $B$O(B ActivationGroup $B$K8GM-$N%/%i%9$G!"(BActivationSystem.activeGroup $B$N8F$S=P$7(B (ActivationGroup.createGroup $B%a%=%C%I$K$h$jFbItE*$K8F$S=P$5$l$k(B) $B$K$h$j%0%k!<%W$NJs9p$,9T$o$l$?$H$-$Kl9g$K$O!"5/F0%0%k!<%W$O!"(BActivationMonitor $B$KJs9p$9$kI,MW$,$"$j$^$9!#(B

a. $B$=$N%*%V%8%'%/%H$,%"%/%F%#%V$K$J$C$?$H$-(B

b. $B$=$N%*%V%8%'%/%H$,%"%/%F%#%V$G$J$/$J$C$?$H$-(B

c. $B%0%k!<%WA4BN$,%"%/%F%#%V$G$J$/$J$C$?$H$-(B


package java.rmi.activation;

public interface ActivationMonitor extends java.rmi.Remote { public abstract void inactiveObject(ActivationID id) throws UnknownObjectException, RemoteException; public void activeObject(ActivationID id, java.rmi.MarshalledObject mobj) throws UnknownObjectException, java.rmi.RemoteException; public void inactiveGroup(ActivationGroupID id, long incarnation) throws UnknownGroupException, java.rmi.RemoteException; }

$B5/F0%0%k!<%W$O!"$=$N%b%K%?$N(B inactiveObject $B%a%=%C%I$r!"%0%k!<%WFb$N%*%V%8%'%/%H$,%"%/%F%#%V$G$J$/$J$C$?$H$-$K8F$S=P$7$^$9!#5/F0%0%k!<%W$O!"5/F0%0%k!<%W$N(B inactiveObject $B%a%=%C%I$N8F$S=P$7$K$h$j!"$=$N(B JVM $BFb$N%*%V%8%'%/%H(B ($B%0%k!<%W$,$=$N5/F0$K$+$+$o$C$?%*%V%8%'%/%H(B) $B$,%"%/%F%#%V$G$J$/$J$C$?$3$H$r8!=P$7$^$9!#(B

inactiveObject $B8F$S=P$7$O!"5/F0<1JL;R(B id $B$r;}$D%*%V%8%'%/%H$r;X$9%j%b!<%H%*%V%8%'%/%H;2>H$,M-8z$G$J$/$J$C$?$3$H$r(B ActivationMonitor $B$KCN$i$;$^$9!#$3$l$K$h$j!"%b%K%?$O(B id $B$K4XO"IU$1$i$l$?;2>H$,8E$$;2>H$G$"$k$H8+$J$7$^$9!#$3$N;2>H$O8E$$;2>H$G$"$k$H8+$J$5$l$k$?$a!"$=$l0J9_!"F1$85/F0<1JL;R$r;XDj$7$F(B activate $B$r8F$S=P$9$H!"%j%b!<%H%*%V%8%'%/%H$O:FEY5/F0$5$l$^$9!#;XDj$5$l$?%*%V%8%'%/%H$,(B ActivationMonitor $B$,CN$i$J$$%*%V%8%'%/%H$G$"$k>l9g$O!"(BinactiveObject $B%a%=%C%I$O(B UnknownObjectException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B

activeObject $B$O!"(Bid $B$K4XO"IU$1$i$l$?%*%V%8%'%/%H$,8=:_%"%/%F%#%V$J>uBV$K$"$k$3$H$r(B ActivationMonitor $B$KCN$i$;$^$9!#%Q%i%a!<%?(B obj $B$K$O!"%*%V%8%'%/%H$N@0Ns2=$5$l$?7A<0$N%9%?%V$r;XDj$7$^$9!#(BActivationGroup $B$O!"%0%k!<%WFb$N%*%V%8%'%/%H$,%7%9%F%`$K$h$jD>@\5/F0$5$l$k0J30$NJ}K!$G%"%/%F%#%V$K$J$C$?>l9g(B ($B%*%V%8%'%/%H$,<+J,<+?H$GEPO?$7$F5/F0$7$?>l9g$J$I(B) $B$O!"$=$l$r%b%K%?$KCN$i$;$J$1$l$P$J$j$^$;$s!#;XDj$5$l$?%*%V%8%'%/%H(B id $B$,EPO?$5$l$F$$$J$$>l9g$O!"(BactiveObject $B$O(B UnknownObjectException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B

inactiveGroup $B$O!"(Bid $B$H(B incarnation $B$G;XDj$5$l$?%0%k!<%W$,8=:_%"%/%F%#%V$G$J$$$3$H$r%b%K%?$KCN$i$;$^$9!#%0%k!<%WFb$N%*%V%8%'%/%H$r5/F0$9$kMW5a$,$=$l0J9_H/@8$9$k$H!"%0%k!<%W$O$h$jBg$-$J@8@.HV9f$G:F:n@.$5$l$^$9!#%0%k!<%WFb$N$9$Y$F$N%*%V%8%'%/%H$,!"<+J,$,%"%/%F%#%V$G$J$/$J$C$?$3$H$rJs9p$9$k$H!"%0%k!<%W$O%"%/%F%#%V$G$J$/$J$j$^$9!#;XDj$5$l$?%0%k!<%W(B id $B$,EPO?$5$l$F$$$J$$$+!";XDj$5$l$?@8@.HV9f$,%0%k!<%W$N8=:_$N@8@.HV9f$h$j$b>.$5$$>l9g$O!"(BinactiveGroup $B%a%=%C%I$O(B UnknownGroupException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B


7.4.4 ActivationInstantiator $B%/%i%9(B

ActivationInstantiator $B$O!"5/F02DG=%*%V%8%'%/%H$N%$%s%9%?%s%9$r@8@.$9$kLr3d$r;}$A$^$9!#(BActivationGroup $B$N6q>]%5%V%/%i%9$G$O!"%0%k!<%WFb$G$N%*%V%8%'%/%H$N:n@.$r=hM}$9$k$?$a(B newInstance $B$r

package java.rmi.activation;

public interface ActivationInstantiator extends java.rmi.Remote { public MarshalledObject newInstance(ActivationID id, ActivationDesc desc) throws ActivationException, java.rmi.RemoteException; }

$B%"%/%F%#%Y!<%?$O!"5/F0<1JL;R(B id $B$H5/F05-=R;R(B desc $B$r;}$D%*%V%8%'%/%H$r%0%k!<%WFb$K:F:n@.$9$k$?$a!"%$%s%9%?%s%7%(!<%?$N(B newInstance $B%a%=%C%I$r8F$S=P$7$^$9!#%$%s%9%?%s%7%(!<%?$O!"
$B$^$?!"%$%s%9%?%s%7%(!<%?$O!"E,@Z$J(B inactiveObject $B$r8F$S=P$;$k$h$&$K!":n@.$^$?$O5/F0$7$?%*%V%8%'%/%H$,%"%/%F%#%V$G$J$/$J$C$?$3$H$r$=$N(B ActivationMonitor $B$KJs9p$9$kLr3d$b;}$A$^$9(B ($B>\:Y$O(B ActivationGroup $B%/%i%9$r;2>H(B)$B!#(B

$B%*%V%8%'%/%H$N5/F0$,<:GT$7$?>l9g$O!"(BnewInstance $B%a%=%C%I$O(B ActivationException $B$r%9%m!<$7$^$9!#%j%b!<%H8F$S=P$7$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B


7.4.5 ActivationGroupDesc $B%/%i%9(B

$B5/F0%0%k!<%W5-=R;R(B (ActivationGroupDesc) $B$K$O!"F1$8(B JVM $BFb$G%*%V%8%'%/%H$r5/F0$9$k5/F0%0%k!<%W$r:n@.$^$?$O:F:n@.$9$k$N$KI,MW$J>pJs$,4^$^$l$^$9!#(B

$B5/F0%0%k!<%W5-=R;R$K4^$^$l$k$b$N$O

$B%0%k!<%W$N%/%i%9$O!"(BActivationGroup $B$N6q>]%5%V%/%i%9$G$J$1$l$P$J$j$^$;$s!#(BActivationGroup $B$N%5%V%/%i%9$O!"ActivationGroup.createGroup $B$K$h$j:n@.$^$?$O:F:n@.$5$l$^$9!#(B

package java.rmi.activation;

public final class ActivationGroupDesc implements java.io.Serializable { public ActivationGroupDesc(java.util.Properties props, CommandEnvironment env);; public ActivationGroupDesc(String className, String codebase, java.rmi.MarshalledObject data, java.util.Properties props, CommandEnvironment env); public String getClassName(); public String getLocation(); public java.rmi.MarshalledObject getData(); public CommandEnvironment getCommandEnvironment(); public java.util.Properties getPropertiesOverrides(); }

1 $B$DL\$N%3%s%9%H%i%/%?$O!"%0%k!<%W$Nnull $B$r@_Dj$7$F(B rmid $B$N%G%U%)%k%H$r(B null $B$r;H$C$F(B ActivationGroupDesc $B$r:n@.$7$^$9!#%0%k!<%W%/%i%9L>(B null $B$O!"%7%9%F%`$N%G%U%)%k%H$G$"$k(B ActivationGroup $B 2 $BHVL\$N%3%s%9%H%i%/%?$O:G=i$HF1$8$G$9$,!"(BProperties $B$*$h$S(B CommandEnvironment $B$r;XDj$G$-$k$h$&$K$J$C$F$$$^$9!#(B

getClassName $B%a%=%C%I$O!"%0%k!<%W$N%/%i%9L>(B (null $B$N>l9g$,B?$$(B) $B$rJV$7$^$9!#%0%k!<%W%/%i%9L>(B null $B$O!"%7%9%F%`$N%G%U%)%k%H$G$"$k(B ActivationGroup $B getLocation $B%a%=%C%I$O!"%0%k!<%W$N%/%i%9$N%m!<%I85$H$J$k%3!<%I%Y!<%9%Q%9$rJV$7$^$9!#(B

getData $B%a%=%C%I$O!"@0Ns2=$5$l$?7A<0$N%0%k!<%W$N=i4|2=%G!<%?$rJV$7$^$9!#(B

getCommandEnvironment $B%a%=%C%I$O!"%3%^%s%I4D6-(B (null $B$N>l9g$,B?$$(B) $B$rJV$7$^$9!#(B

getPropertiesOverrides $B%a%=%C%I$O!"$3$N5-=R;R$N%W%m%Q%F%#%*!<%P!<%i%$%I(B (null $B$N>l9g$,B?$$(B) $B$rJV$7$^$9!#(B


7.4.6 ActivationGroupDesc.CommandEnvironment $B%/%i%9(B

CommandEnvironment $B%/%i%9$r;HMQ$9$k$H!"%G%U%)%k%H$N%7%9%F%`%W%m%Q%F%#$N%*!<%P!<%i%$%I!"$*$h$SActivationGroup $B$N%*%W%7%g%s;XDj$,2DG=$K$J$j$^$9!#(B

public static class CommandEnvironment
	implements java.io.Serializable
{
	public CommandEnvironment(String cmdpath, String[] args);
	public boolean equals(java.lang.Object);
	public String[] getCommandOptions();
	public String getCommandPath();
	public int hashCode();
}
$B%3%s%9%H%i%/%?$O!";XDj$5$l$?%3%^%s%I!"(Bcmdpath$B!"$*$h$SDI2C%3%^%s%I9T%*%W%7%g%s(B args $B$r;H$C$F(B CommandEnvironment $B$r:n@.$7$^$9!#(B

equals $B$O!"%3%^%s%I4D6-%*%V%8%'%/%H$KEy$7$$FbMF$rCommandEnvironment $B$,%O%C%7%e%F!<%V%k$K3JG<$5$l$k$h$&$K!"(BhashCode $B%a%=%C%I$,E,59$K getCommandOptions $B%a%=%C%I$O!"4D6-%*%V%8%'%/%H$N%3%^%s%I9T%*%W%7%g%s$rJV$7$^$9!#(B

getCommandPath $B%a%=%C%I$O!"4D6-%*%V%8%'%/%H$N%3%^%s%IJ8;zNs$rJV$7$^$9!#(B


7.4.7 ActivationGroupID $B%/%i%9(B

$BEPO?$5$l$?5/F0%0%k!<%W$N<1JL;R$O!"
ActivationGroupID $B$O!"(BActivationSystem.registerGroup $B$r8F$S=P$9$3$H$G

package java.rmi.activation;

public class ActivationGroupID implements java.io.Serializable { public ActivationGroupID(ActivationSystem system); public ActivationSystem getSystem(); public boolean equals(Object obj); public int hashCode(); }

ActivationGroupID $B$N%3%s%9%H%i%/%?$O!"(BActivationSystem $B$,(B system $B$G;XDj$5$l$?0l0U$N%0%k!<%W<1JL;R$r:n@.$7$^$9!#(B

getSystem $B%a%=%C%I$O!"%0%k!<%W$N5/F0%7%9%F%`$rJV$7$^$9!#(B

hashCode $B%a%=%C%I$O!"%0%k!<%W$N<1JL;R$N%O%C%7%e%3!<%I$rJV$7$^$9!#F1$8%j%b!<%H%0%k!<%W$r;2>H$9$k(B 2 $B$D$N%0%k!<%W<1JL;R$O!"F1$8%O%C%7%e%3!<%I$r;}$A$^$9!#(B

equals $B%a%=%C%I$O!"(B2 $B$D$N%0%k!<%W<1JL;R$rHf3S$7$F!"FbMF$,Ey$7$$$+$I$&$+$rD4$Y$^$9!#$3$N%a%=%C%I$O!"(B1) $B0l0U$N<1JL;R$,FbMFE*$KF10l$G$"$j!"$J$*$+$D!"(B2) $B$=$l$>$l$N<1JL;R$G;XDj$5$l$?5/F0%7%9%F%`$,F10l$N%j%b!<%H%*%V%8%'%/%H$r;2>H$7$F$$$k>l9g$O!"(Btrue $B$rJV$7$^$9!#(B


7.4.8 ActivationGroup $B%/%i%9(B

ActivationGroup $B$O!"$=$N%0%k!<%WFb$K!V5/F02DG=!W%*%V%8%'%/%H$N?7$7$$%$%s%9%?%s%9$r@8@.$7!"l9g$K(B ActivationMonitor $B$KDLCN$7$^$9!#(B

a. $B$=$N%*%V%8%'%/%H$,%"%/%F%#%V$K$J$C$?$H$-(B

b. $B$=$N%*%V%8%'%/%H$,%"%/%F%#%V$G$J$/$J$C$?$H$-(B

c. $B%0%k!<%WA4BN$,%"%/%F%#%V$G$J$/$J$C$?$H$-(B

ActivationGroup $B$,!V:G=i$K!W:n@.$5$l$k$N$O!"l9g$G$9!#(B

ActivationGroup $B$r!V:F:n@.!W$G$-$k$N$O%"%/%F%#%Y!<%?$@$1$G$9!#%"%/%F%#%Y!<%?$O!"EPO?$5$l$F$$$k5/F0%0%k!<%W$4$H$K!"I,MW$K1~$8$FFHN)$7$?(B JVM ($B$?$H$($P!";R%W%m%;%9$H$7$F(B) $B$r@8@.$7!"5/F0MW5a$rE,@Z$J%0%k!<%W$KE>Aw$7$^$9!#(BJVM $B$r$I$N$h$&$K@8@.$9$k$+$O!"ActivationGroup.createGroup $B$K$h$j:n@.$7$^$9!#(BcreateGroup $B%a%=%C%I$K$O!":n@.$9$k%0%k!<%W$K4X$7$F!"(B1) $B%0%k!<%W$O(B ActivationGroup $B$N6q>]%5%V%/%i%9$G$J$1$l$P$J$i$J$$!"(B2) $B%0%k!<%W$O
$B:n@.;~!"(BActivationGroup $B$N%G%U%)%k%H$NActivationGroupDesc $B$,:n@.$5$l$?$H$-$N%7%9%F%`%W%m%Q%F%#CM$K@_Dj$5$l!"%;%-%e%j%F%#%^%M!<%8%c$O(B java.rmi.RMISecurityManager $B$K@_Dj$5$l$^$9!#%0%k!<%WFb$G%*%V%8%'%/%H$,5/F0$5$l$k$H$-$K!"$$$/$D$+$N%W%m%Q%F%#$K$D$$$F$OFH<+$NCM$r@_Dj$7$?$$>l9g$O!"G$0U$N(B ActivationDesc $B$,:n@.$5$l$kA0!"$D$^$j!"%G%U%)%k%H$N(B ActivationGroupDesc $B$,:n@.$5$l$kA0$K@_Dj$9$k$h$&$K$9$Y$-$G$9!#(B

package java.rmi.activation;

public abstract class ActivationGroup extends UnicastRemoteObject implements ActivationInstantiator { protected ActivationGroup(ActivationGroupID groupID) throws java.rmi.RemoteException; public abstract MarshalledObject newInstance(ActivationID id, ActivationDesc desc) throws ActivationException, java.rmi.RemoteException; public abstract boolean inactiveObject(ActivationID id) throws ActivationException, UnknownObjectException, java.rmi.RemoteException; public static ActivationGroup createGroup(ActivationGroupID id, ActivationGroupDesc desc, long incarnation) throws ActivationException; public static ActivationGroupID currentGroupID(); public static void setSystem(ActivationSystem system) throws ActivationException; public static ActivationSystem getSystem() throws ActivationException; protected void activeObject(ActivationID id, java.rmi.MarshalledObject mobj) throws ActivationException, UnknownObjectException, java.rmi.RemoteException; protected void inactiveGroup() throws UnknownGroupException, java.rmi.RemoteException; }

$B%"%/%F%#%Y!<%?$O!"5/F05-=R;R(B desc $B$r;}$D%*%V%8%'%/%H$r5/F0$9$k$?$a!"5/F0%0%k!<%W$N(B newInstance $B%a%=%C%I$r8F$S=P$7$^$9!#5/F0%0%k!<%W$O!"
$B;XDj$5$l$?5-=R;R$KBP1~$9$k%$%s%9%?%s%9$r@8@.$G$-$J$+$C$?>l9g$O!"(BnewInstance $B%a%=%C%I$O(B ActivationException $B$r%9%m!<$7$^$9!#(B

$B%0%k!<%W$N(B inactiveObject $B%a%=%C%I$O!"(BActivatable.inactive $B%a%=%C%I$N8F$S=P$7$r2p$7$F4V@\E*$K8F$S=P$5$l$^$9!#%j%b!<%H%*%V%8%'%/%H$NActivatable $B$N(B inactive $B%a%=%C%I$r8F$S=P$5$J$1$l$P$J$j$^$;$s!#%*%V%8%'%/%H$O!"%"%/%F%#%V$G$J$/$J$C$?$H$-$K(B Activatable.inactive $B$r8F$S=P$9$h$&$K$7$J$$$H!"%0%k!<%W$O:n@.$7$?%*%V%8%'%/%H$X$N6/$$;2>H$rJ];}$7$?$^$^$K$J$k$?$a!"$=$N$h$&$J%*%V%8%'%/%H$N%,%Y!<%8%3%l%/%H$O9T$o$l$J$/$J$j$^$9!#(B

$B%0%k!<%W$N(B inactiveObject $B%a%=%C%I$O!"%j%b!<%H%*%V%8%'%/%H$,%/%i%$%"%s%H$+$i$N(B RMI $B8F$S=P$7$K1~$8$i$l$J$$$h$&$K$9$k$?$a!"(Bid $B$K4XO"IU$1$i$l$?%j%b!<%H%*%V%8%'%/%H$r(B RMI $B%i%s%?%$%`$+$i%"%s%(%/%9%]!<%H$7$^$9(B ($B%j%b!<%H%*%V%8%'%/%H$KBP$9$kJ]N1>uBV$N8F$S=P$7$dl9g$K8B$k(B)$B!#%*%V%8%'%/%H$X$NJ]N1>uBV$N8F$S=P$7$dl9g!"(BinactiveObject $B$O(B false $B$rJV$7!"%"%/%7%g%s$r$H$j$^$;$s!#(B

unexportObject $B%*%Z%l!<%7%g%s$,@.8y$9$k$H(B ($B%*%V%8%'%/%H$K$OJ]N1>uBV$^$?$OuBV$K$"$j!"$7$?$,$C$F!"$=$l0J9_$N5/F0MW5a;~$K$O%"%/%F%#%Y!<%?$K$h$C$F:FEY5/F0$G$-$k$3$H$r!"$=$N(B ActivationMonitor $B$KCN$i$;$^$9(B ($B%b%K%?$N(B inactiveObject $B$r;HMQ(B)$B!#%*%Z%l!<%7%g%s$,@.8y$9$k$H!"(BinactiveObject $B$O(B true $B$rJV$7$^$9!#(BActivationGroup $B$K$h$j%*%V%8%'%/%H$,%"%/%F%#%V$G$"$k$H8+$J$5$l$k>l9g$G$b!"$9$G$K%"%s%(%/%9%]!<%H$5$l$F$$$k>l9g$O!"$3$N%a%=%C%I$N8F$S=P$7$O@.8y$9$k$3$H$,$"$j$^$9!#(B

$B$3$N%*%V%8%'%/%H$,%"%/%F%#%V$G$J$$$H$9$G$KJs9p$5$l$F$$$k>l9g$d!"$3$N5/F0%0%k!<%W$G0lEY$b5/F0$5$l$?$3$H$,$J$$$J$I$NM}M3$+$i!"5/F0%0%k!<%W$,$3$N%*%V%8%'%/%H$rCN$i$J$$>l9g$O!"(BinactiveObject $B%a%=%C%I$O(B UnknownObjectException $B$r%9%m!<$7$^$9!#%"%/%F%#%Y!<%?$^$?$O5/F0%0%k!<%W$N%j%b!<%H8F$S=P$7$,<:GT$9$k$J$I$NHs5/F0=hM}$,<:GT$7$?>l9g$O!"(BRemoteException $B$r%9%m!<$7$^$9!#(B

createGroup $B%a%=%C%I$O!"8=:_$N(B JVM $BMQ$K5/F0%0%k!<%W$r:n@.$7!"@_Dj$r9T$$$^$9!#5/F0%0%k!<%W$r@_Dj$G$-$k$N$O!"$=$l$,8=:_@_Dj$5$l$F$$$J$$>l9g$@$1$G$9!#5/F0%0%k!<%W$O!"(Bactivate $BMW5a$r=hM}$9$k$?$a!"(BActivator $B$,5/F0%0%k!<%W$N:F:n@.$r3+;O$7$?$H$-$K(B createGroup $B$K$h$C$F@_Dj$5$l$^$9!#%0%k!<%W$r$3$N%a%=%C%I$G:n@.$9$kA0$K$O!"%0%k!<%W5-=R;R$r(B ActivationSystem $B$KEPO?$7$F$*$/I,MW$,$"$j$^$9(B ($BA0$NEPO?$+$iF@$?(B ActivationID $B$rEO$9(B)$B!#(B

ActivationGroupDesc (desc) $B$G;XDj$9$k%0%k!<%W$O!"(BActivationGroup $B$N6q>]%5%V%/%i%9$G$J$1$l$P$J$i$:!"$=$N%0%k!<%W$N(B ActivationGroupID $B$H!"$=$N%0%k!<%W$N=i4|2=%G!<%?$,4^$^$l$?(B MarshalledObject (ActivationGroupDesc$B$+$iActivationGroupDesc.getClassName $B%a%=%C%I$,(B null $B$rJV$9>l9g!"%7%9%F%`$N%G%U%)%k%H%0%k!<%Wl9g!"%0%k!<%W$N%3%s%9%H%i%/%?$G%;%-%e%j%F%#%^%M!<%8%c$r@_Dj$9$k$h$&$K$7$J$1$l$P$J$j$^$;$s!#(B $B%3%s%9%H%i%/%?Fb$K%;%-%e%j%F%#%^%M!<%8%c$r@_Dj$7$J$$$H!"%0%k!<%W$NCf$G%*%V%8%'%/%H$r5/F0$9$k$3$H$O$G$- $B

(B $BMarshalledObject
MarshalledObject $B$O%*%V%8%'%/%H$N%3%s%F%J$G!"(BRMI $B8F$S=P$7$N:]$K%*%V%8%'%/%H$r%Q%i%a!<%?$H$7$F0z$-EO$;$k$h$&$K$9$k$b$N$G$9$,!"Ns2=I|85$O!"%3%s%F%J%*%V%8%'%/%H8F$S=P$7$r2p$7$F%"%W%j%1!<%7%g%s$,$=$N%*%V%8%'%/%H$rL@<(E*$KMW5a$9$k$^$G1d4|$5$l$^$9!#(BMarshalledObject $B$K4^$^$l$k(B Serializable $B%*%V%8%'%/%H$O!"(BRMI $B8F$S=P$7$N:]$K0z$-EO$5$l$?%Q%i%a!<%?$HF1$8%;%^%s%F%#%/%9$G!"MW5a;~$KD>Ns2=$*$h$SD>Ns2=I|85$,9T$o$l$^$9!#$3$l$O!"(BMarshalledObject $BFb$N$9$Y$F$N%j%b!<%H%*%V%8%'%/%H$,!"$=$N%9%?%V$ND>Ns2=$5$l$?%$%s%9%?%s%9$K$h$C$FI=8=$5$l$k$3$H$r0UL#$7$^$9!#(BMarshalledObject $B$K4^$^$l$k%*%V%8%'%/%H$O!"%j%b!<%H%*%V%8%'%/%H!"Hs%j%b!<%H%*%V%8%'%/%H$N$I$A$i$+!"$^$?$O%j%b!<%H$HHs%j%b!<%H$N%*%V%8%'%/%H$NN>J}$,$=$m$C$?$b$N$N$$$:$l$+$K$J$j$^$9!#(B

$B%*%V%8%'%/%H$,(B MarshalledObject $B%i%C%Q!<$NCf$KCV$+$l$k$H!"D>Ns2=$5$l$?$=$N%*%V%8%'%/%H$K%3!<%I%Y!<%9(B URL ($B%/%i%9$N%m!<%I85(B) $B$N>pJs$,IU2C$5$l$^$9!#(B $BF1MM$K!"(BMarshalledObject $B%i%C%Q!<$+$i%*%V%8%'%/%H$,Ns2=$N:]$KIU2C$5$l$?(B URL $B$+$i!"$=$N%*%V%8%'%/%H$N%/%i%9$N%P%$%H%3!<%I$,FCDj$5$l%m!<%I$5$l$^$9!#(B

package java.rmi;

public final class MarshalledObject implements java.io.Serializable { public MarshalledObject(Object obj) throws java.io.IOException; public Object get() throws java.io.IOException, ClassNotFoundException; public int hashCode(); public boolean equals(); }

MarshalledObject $B$N%3%s%9%H%i%/%?$O!"0z?t$H$7$FD>Ns2=2DG=$J%*%V%8%'%/%H(B obj $B$r$H$j!"%*%V%8%'%/%H$,%P%$%H%9%H%j!<%`$K@0Ns2=$5$l$?7A<0$N$b$N$rJ];}$7$^$9!#@0Ns2=$5$l$?7A<0$N%*%V%8%'%/%H$O!"
  • get $B%a%=%C%I$N8F$S=P$7$K$h$j%*%V%8%'%/%H$,:F9=C[$5$l$k$H$-$K!"3F%/%i%9$N%P%$%H%3!<%I$rFCDj!"%m!<%I$G$-$k$h$&$K!"%9%H%j!<%`Cf$N3F%/%i%9$K$O!"$=$N%3!<%I%Y!<%9(B URL $B>pJs$,IU2C$5$l$k(B
  • $B%j%b!<%H%*%V%8%'%/%H$O!"$=$N%W%m%-%7%9%?%V$GCV$-49$($i$l$k(B
MarshalledObject $B%/%i%9$N%$%s%9%?%s%9$,(B java.io.ObjectOutputStream $B$K=q$-=P$5$l$k$H$-$O!"$=$NCf$K4^$^$l$k@0Ns2=$5$l$?7A<0$N%*%V%8%'%/%H(B ($B9=C[;~$K:n@.$5$l$?$b$N(B) $B$,%9%H%j!<%`$K=q$-=P$5$l$^$9!#(B $B$7$?$,$C$F!"%P%$%H%9%H%j!<%`$@$1$,D>Ns2=$5$l$^$9!#(B

MarshalledObject $B$,(B java.io.ObjectInputStream $B$+$iFI$_=P$5$l$k$H$-$O!"$=$NCf$K4^$^$l$k%*%V%8%'%/%H$O6q>]%*%V%8%'%/%H$KD>Ns2=I|85$O$5$l$^$;$s!#(B $B@0Ns2=$5$l$?%*%V%8%'%/%H$N(B get $B%a%=%C%I$,8F$S=P$5$l$k$^$G!"%*%V%8%'%/%H$O@0Ns2=$5$l$?7A<0$N$^$^$G$9!#(B

get $B%a%=%C%I$O!">o$K!"@0Ns2=$5$l$?7A<0$G4^$a$i$l$F$$$k%*%V%8%'%/%H$N?7$7$$%3%T!<$r:F9=C[$7$^$9!#FbItI=8=$O!"(BRMI $B8F$S=P$7$NHs@0Ns2=%Q%i%a!<%?$KBP$7$F;HMQ$5$l$k%;%^%s%F%#%/%9$GD>Ns2=I|85$5$l$^$9!#$7$?$,$C$F!"%*%V%8%'%/%H$NI=8=$rD>Ns2=I|85$9$k$H!"D>Ns2=$5$l$?%*%V%8%'%/%H$N%9%H%j!<%`$KKd$a9~$^$l$?(B URL $B>pJs$r;HMQ$7$F%/%i%9%3!<%I$,%m!<%I$5$l$^$9(B ($B%m!<%+%k$K$J$$>l9g(B)$B!#(B

$B@0Ns2=$5$l$?7A<0$N%*%V%8%'%/%H$N(B hashCode $B$O!"%3%s%9%H%i%/%?$K0z$-EO$5$l$?%*%V%8%'%/%H$HF1$8$G$9!#(Bequals $B%a%=%C%I$O!"@0Ns2=$5$l$?7A<0$N%*%V%8%'%/%H$I$&$7$rHf3S$7!"$=$l$i$,Ey2A$G$"$l$P(B true $B$rJV$7$^$9!#(Bequals $B$,Hf3S$rNs2=I=8=$rJ];}$9$k>l9g!"$=$l$i$OEy2A$G$"$k$3$H$r0UL#$7$^$9(B ($BD>Ns2=I=8=Fb$N3F%/%i%9$N%3!<%I%Y!<%9$r=|$/(B)$B!#(B





$BL\ | $BA0$N9`L\(B | $B
Copyright © 1997-1999 Sun Microsystems, Inc. All Rights Reserved.