HOT deploy
1回目のループ
1回目のループを実行します.
クライアントがブレークポイントで停止していることを確認し,「Resume (F8)」します. クライアントプロセスのコンソールに次のように表示されます.
2006-12-03 07:22:46.046 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor
BEGIN examples.rmi.service.HelloService#say()
2006-12-03 07:22:46.640 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor
END examples.rmi.service.HelloService#say() : Hello
Hello
2回目のループ
2回目のループを実行する前にサービスの実装クラスを変更します.
クライアントがブレークポイントで停止していることを確認し,次のクラスをJavaエディタで開きます.
s2rmi-examples-serverプロジェクトexamples.rmi.service.impl.HelloServiceImplクラス
public class HelloServiceImpl implements HelloService {
public String say() {
return "Hello";
}
}
メソッドの中を次のように変更して保存します.
return "Hello, S2RMI!";
クライアントがブレークポイントで停止していることを確認し,「Resume (F8)」します.
クライアントプロセスのコンソールに次のように表示されます.
2006-12-03 07:23:36.500 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor
BEGIN examples.rmi.service.HelloService#say()
2006-12-03 07:23:36.546 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor
END examples.rmi.service.HelloService#say() : Hello, S2RMI!
Hello, S2RMI!
サーバプロセスを再起動することなく,ソースの変更が反映されていることが確認できました.
3回目のループ
3回目のループを実行する前にサービスのインタフェースと実装クラスを変更します.
クライアントがブレークポイントで停止していることを確認し,次のクラスをJavaエディタで開きます.
s2rmi-examples-clientプロジェクトexamples.rmi.service.HelloServiceクラス
public interface HelloService {
public String say();
}
メソッドの宣言を次のように変更して保存します.
public String say(String message);
次のクラスをJavaエディタで開きます.
s2rmi-examples-serverプロジェクトexamples.rmi.service.impl.HelloServiceImplクラス
public class HelloServiceImpl implements HelloService {
public String say() {
return "Hello, S2RMI!";
}
}
メソッドを次のように変更して保存します.
public String say(String message) {
return message + ", Hello, S2RMI!";
}
次のクラスをJavaエディタで開きます.
s2rmi-examples-clientプロジェクトexamples.rmi.helper.impl.HelloHelperImplクラス
public class HelloHelperImpl implements HelloHelper {
protected HelloService helloService;
public void setHelloService(HelloService helloService) {
this.helloService = helloService;
}
public String say() {
return helloService.say();
}
}
say()メソッドの中を次のように変更して保存します.
return helloService.say("Hi");
クライアントがブレークポイントで停止していることを確認し,「Resume (F8)」します.
クライアントプロセスのコンソールに次のように表示されます.
2006-12-03 07:24:33.578 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor
BEGIN examples.rmi.service.HelloService#say(Hi)
2006-12-03 07:24:33.625 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor
END examples.rmi.service.HelloService#say(Hi) : Hi, Hello, S2RMI!
Hi, Hello, S2RMI!
クライアントプロセス・サーバプロセスとも再起動することなく,ソースの変更が反映されていることが確認できました.
