Redisson フレームワークを使用したリモート メソッド呼び出しの別の良い例を次に示します。
リモートYourServiceImpl
で呼び出す必要があるメソッドが含まれており、YourService
インターフェイスを実装しているとします。
YourServiceImpl は RemoteService オブジェクトを介して Redisson に登録する必要があります。
YourService yourService = new YourServiceImpl();
RRemoteService remoteService = redisson.getRemoteService();
remoteService.register(YourService.class, yourService);
メソッドをリモートで呼び出すには、サービス インターフェイスのみが必要です。
RRemoteService remoteService = redisson.getRemoteService();
YourService service = remoteService.get(YourService.class);
MyObject result = service.myMethod(someParam1, someParam2);
また、非同期呼び出しもサポートしています。
// async interface for YourService
@RRemoteAsync(YourService.class)
public interface YourServiceAsync {
RFuture<Long> someMethod1(Long param1, String param2);
RFuture<Void> someMethod2(MyObject param);
}
RRemoteService remoteService = redisson.getRemoteService();
YourServiceAsync asyncService = remoteService.get(YourServiceAsync.class);
RFuture<Long> res = asyncService.someMethod1(12L, "param");
res.thenApply(r -> {
...
});
詳細はこちら