ローカルスタブ

リモートサービスの後、クライアントは通常、唯一のインタフェースであり、完全なサーバー側を達成しますが、プロバイダのクライアントはまたのような、ロジックの一部を実行したい場合があります: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" > </ ダボ:メソッド> 
</ ダボ:参照>

 

おすすめ

転載: www.cnblogs.com/menbo/p/11002200.html