About

Documentation

プロジェクト文書

Built by Maven

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!

クライアントプロセス・サーバプロセスとも再起動することなく,ソースの変更が反映されていることが確認できました.