リモートサービスの後、クライアントは通常、唯一のインタフェースであり、完全なサーバー側を達成しますが、プロバイダのクライアントはまたのような、ロジックの一部を実行したい場合があります:ThreadLocalのキャッシング、事前に認証パラメータを行い、コールはフォールトトレラントデータを偽造失敗しますなど、このような場合には、それはスタブAPIを持参する必要があり、クライアントがプロキシインスタンスを生成し、プロキシは、スタブは、ユーザにさらされ、あなたはスタブプロキシトーンを行くことにするかどうかを決定することができ、コンストラクタスタブを通過することになります。スタブは、コンストラクタは、プロキシに渡すことができている必要があります。
ローカルスタブ実行方法
パブリック クラス UserServiceStubは実装UserServiceの{ 民間 最終UserServiceのUserServiceのを。 公共UserServiceStub(UserServiceのUserServiceの){ // TODO自動生成コンストラクタスタブ この .userService = UserServiceの。 } @Override パブリックリスト<UserAddress> getUserAddressList(文字列USERID){ // TODO自動生成方法スタブ のSystem.out.println( "调用本地存根" )。 もし(StringUtils.isEmpty(USERID)){ 戻りuserService.getUserAddressList(USERIDは)。 } さもなければ{ 戻り ヌル。 } } }
プロファイル
< ダボ:参照インターフェイス= "com.moon.user_service_gmall.service.UserService" ID = "UserServiceの" タイムアウト= "3000" リトライ= "3" バージョン= "*" スタブ= "com.moon.service.UserServiceStub" > < ダボ:メソッド名= "getUserAddressList" タイムアウト= "2000" > </ ダボ:メソッド> </ ダボ:参照>