<div>$B=i$a$FEj9F$5$F$$$?$@$-$^$9!#;3ED$H?=$7$^$9!#(B</div>
<div>S2Axis2$B$K$D$$$F<ALd$,$4$6$$$^$9!#(B</div>
<div> </div>
<div>$B%/%i%$%"%s%HB&$GF14|7?MW5a1~Ez7A<0$N(BAxis$B%3%M%/%?!J(BAxisInOutConnector$B!K$r;HMQ$7$F$$$k$N$G$9$,!"(B</div>
<div>$B%^%k%A%9%l%C%I$GF1;~$K%5!<%S%98F$S=P$7$r9T$C$?:]$K!"%j%b!<%H%5!<%PB&$GC`<!=hM}$5$l$F$7$^$$$^$9!#(B</div>
<div> </div>
<div>$B!ZNc![(Bs2axis2-examples $B$N(Borg.seasar.remoting.axis2.examples.ex01$B$r2~B$$7$?$b$N$G$9!#(B</div>
<div>$B$=$NB>$N@_Dj$O$=$N$^$^$G$9!#(B</div>
<div> </div>
<div>$B"#%5!<%PB&(B</div>
<div>public class EchoImpl implements Echo {<br> public String echo(int id, String message) {<br> System.out.println("---start server---" + id);<br> try {<br> Thread.sleep(5*1000);<br>
} catch (InterruptedException e) {<br> e.printStackTrace();<br> }<br> System.out.println("---end server---" + id);<br> return "[id = " + id + "] " + message;<br>
}<br>}</div>
<div> </div>
<div>$B"#%/%i%$%"%s%HB&(B</div>
<div>public class EchoClient extends Thread {</div>
<div> private Echo service;</div>
<div> public void run() {<br> int id = (int)System.currentTimeMillis();<br> String msg = "echo message";<br> System.out.println("=============start=============" + id);<br> service.echo(id, msg);<br>
System.out.println("=============end=============" + id);<br> }</div>
<div> public void setEcho(Echo echo) {<br> this.service = echo;<br> }</div>
<div> public static void main(String[] args) {<br> SingletonS2ContainerFactory.setConfigPath("org/seasar/remoting/axis2/examples/ex01/EchoTest.dicon");<br> SingletonS2ContainerFactory.init();</div>
<div> S2Container container = SingletonS2ContainerFactory.getContainer();<br> Echo echo1 = (Echo)container.getComponent(Echo.class);<br> Echo echo2 = (Echo)container.getComponent(Echo.class);</div>
<div> EchoClient client1 = new EchoClient();<br> EchoClient client2 = new EchoClient();<br> client1.setEcho(echo1);<br> client2.setEcho(echo2);<br> <br> client1.start();<br> client2.start();<br>
}<br>}</div>
<div> </div>
<div>
<div>$B!&(BEchoClient $B$r<B9T$9$k$H!"(B</div>
<div>=============start=============$B%9%l%C%I#1(B</div>
<div>=============start=============$B%9%l%C%I#2(B</div>
<div>---start server---$B%9%l%C%I#1(B</div>
<div>---end server---$B%9%l%C%I#1(B</div>
<div>
<div>=============end=============$B%9%l%C%I#1(B</div>
<div>
<div>---start server---$B%9%l%C%I#2(B</div>
<div>---end server---$B%9%l%C%I#2(B</div>
<div>=============end=============$B%9%l%C%I#2(B</div>
<div>$B$N$h$&$K$J$C$F$7$^$$$^$9!#(B</div>
<div> </div>
<div>$B!&4|BT$7$F$$$?$N$O!"(B</div>
<div>
<div>=============start=============$B%9%l%C%I#1(B</div>
<div>=============start=============$B%9%l%C%I#2(B</div>
<div>---start server---$B%9%l%C%I#1(B</div>
<div>---start server---$B%9%l%C%I#2(B</div>
<div>---end server---$B%9%l%C%I#1(B</div>
<div>---end server---$B%9%l%C%I#2(B</div>
<div>
<div>=============end=============$B%9%l%C%I#1(B</div>
<div>
<div>=============end=============$B%9%l%C%I#2(B</div>
<div>$B$N$h$&$K!"%9%l%C%I#1$N1~Ez$rBT$?$:$K%9%l%C%I#2$N=hM}$b9T$C$F$[$7$$$N$G$9$,(B</div>
<div>$B%9%l%C%I4V$G$bF14|$r<h$k$h$&$J;EMM$J$N$G$7$g$&$+!)(B</div>
<div>$B$=$l$H$b!"(Bs2axis2-client.dicon $B$N@_Dj!J$b$7$/$O$=$N$[$+$N(Bdicon$B!K$rJQ99$7$J$1$l$P$J$i$J$$$N$G$7$g$&$+!)(B</div>
<div>$B"((Binstance="prototype" $B$KJQ99$7$F$_$?$N$G$9$,!"$&$^$/$$$-$^$;$s$G$7$?!#(B</div>
<div> <component name="ioConnector" class="org.seasar.remoting.axis2.connector.AxisInOutConnector" instance="prototype" ></div>
<div> </div>
<div> </div>
<div>$B!&$^$?!"MW7o$H$7$F%5!<%PB&$G$bJBNs=hM}$r9T$o$J$1$l$P$J$i$J$$$N$G!"(B</div>
<div>s2axis2-client.dicon $B$N@_Dj$G2?$H$+$J$i$J$$>l9g$O!"(B</div>
<div>org.seasar.remoting.axis2.connector.AbstractRPCConnector#invoke</div>
<div>$B$N(Bsynchronized$B%V%m%C%/$r$O$:$9$H$$$&BP1~$r8!F$$r$7$F$$$k$N$G$9$,!"(B</div>
<div>$B$=$l$,:GA1$NJ}K!$J$N$G$7$g$&$+!)(B</div>
<div>$B!J@\B3@h$O#1$D$7$+$J$$$N$G!"(BOptions$B$N6%9g$OLdBj$J$$!)$H9M$($F$$$k$N$G$9$,!&!&!K(B</div>
<div> </div>
<div> </div>
<div>$B0J>e!"59$7$/$*4j$$CW$7$^$9!#(B</div>
<div> </div></div></div></div></div></div></div>