ソファ-RPC読んソース(1) - 建築環境

1.環境の構造

1.1コピーのソースコード

gitのクローンhttps://github.com/sofastack/sofa-rpc.git

1.2コンパイラのソースコード

ソースディレクトリで実行

-DskipTestsをクリーンインストールMVN

インストールJavaのバージョン1.8は、コンパイラはjava11と文句を言うことに注意してください

1.3サンプルの実行

1.3.1サーバを起動します

クラスを見つけるために、mainメソッドを実行しますcom.alipay.sofa.rpc.bolt.start.BoltServerMain

public static void main(String[] args) {
    ApplicationConfig application = new ApplicationConfig().setAppName("test-server");

    ServerConfig serverConfig = new ServerConfig()
        .setPort(22000)
        .setDaemon(false);

    ProviderConfig<HelloService> providerConfig = new ProviderConfig<HelloService>()
        .setInterfaceId(HelloService.class.getName())
        .setApplication(application)
        .setRef(new HelloServiceImpl())
        .setServer(serverConfig)
        .setRegister(false);

    ProviderConfig<EchoService> providerConfig2 = new ProviderConfig<EchoService>()
        .setInterfaceId(EchoService.class.getName())
        .setApplication(application)
        .setRef(new EchoServiceImpl())
        .setServer(serverConfig)
        .setRegister(false);

    providerConfig.export();
    providerConfig2.export();

    LOGGER.warn("started at pid {}", RpcRuntimeContext.PID);
}

結果は以下の通りであります

2020年3月6日21:13:29032メインINFO [com.alipay.sofa.rpc.context.RpcRuntimeContext:情報:102] -ようこそ!ローディングSOFA RPCフレームワーク:5.5.9_20191011104639、PIDは:26068
2020年3月6日21:13:29079主INFO [com.alipay.sofa.rpc.module.ModuleFactory:INFO:102] -インストールモジュール:フォールトトレランス
2020 -03-06 21:13:29157主INFO [com.alipay.sofa.rpc.module.ModuleFactory:INFO:102] -モジュールのインストール:sofaTracer-RESTEasyの
2020年3月6日21:13:29781主INFOを[COM。 alipay.sofa.rpc.module.ModuleFactory:情報:97] -モジュールの見張りをロードする必要はありません。
2020年3月6日21:13:29781主INFO [com.alipay.sofa.rpc.module.ModuleFactory:INFO:102] -モジュールを取り付けますsofaTracer
2020年3月6日21:13:29813主INFO [com.alipay.sofa.rpc.bootstrap.DefaultProviderBootstrap:infoWithApp:122] - [テストサーバー]エクスポート・プロバイダの設定:com.alipay.sofa.rpc.test.HelloServiceビーンIDのRPC-CFG-0と::ボルト
2020年3月6日21:13:31812主INFO [com.alipay.sofa.rpc.server.bolt.BoltServer:INFO:102] -ボルトサーバが0.0にバインドされています.0.0:22000
2020年3月6日21:13:31812主INFO [com.alipay.sofa.rpc.bootstrap.DefaultProviderBootstrap:infoWithApp:122] - [テストサーバー]エクスポート・プロバイダの設定:com.alipay.sofa.rpcビーンIDのRPC-CFG-1 .test.EchoService ::ボルト
2020年3月6日21:13:31812主[com.alipay.sofa.rpc.bolt.start.BoltServerMainを:警告:142] WARN - PIDで開始26068
2020年3月6日21:15:29281 SOFA-SEV-ボルトBIZ-22000から3-T1 INFO [com.alipay.sofa.rpc.codec.sofahessian.SofaHessianSerializer:INFO:97] -ソファ-ヘッセのバージョンでありますv3.xの
2020年3月6日21:15:29562 SOFA-SEV-BOLT-BIZ-22000から3-T1 INFO [com.alipay.sofa.rpc.tracer.Tracers:情報:102] -ロードトレーサのimplの成功: sofaTracer、com.alipay.sofa.rpc.tracer.sofatracer.RpcSofaTracer@715472d0
2020年3月6日21:15:29578 SOFA-SEV-ボルトBIZ-22000から3-T1 INFO [com.alipay.sofa.rpc。 test.HelloServiceImpl:情報:97] -名前:XXX、年齢:22
2020年3月6日21:15:31655 SOFA-SEV-BOLT-BIZ-22000から3-T2 INFO [com.alipay.sofa.rpc.test .HelloServiceImpl:情報:97] -名前:XXX、年齢:22

1.3.2クライアントの起動

検索とクラスのmainメソッドを実行しますcom.alipay.sofa.rpc.bolt.start.BoltClientMain

public static void main(String[] args) throws InterruptedException {
    ApplicationConfig application = new ApplicationConfig().setAppName("test-client");

    ConsumerConfig<HelloService> consumerConfig = new ConsumerConfig<HelloService>()
        .setApplication(application)
        .setInterfaceId(HelloService.class.getName())
        .setDirectUrl("bolt://127.0.0.1:22000")
        .setRegister(false)
        .setTimeout(3000);
    HelloService helloService = consumerConfig.refer();

    ConsumerConfig<EchoService> consumerConfig2 = new ConsumerConfig<EchoService>()
        .setInterfaceId(EchoService.class.getName())
        .setApplication(application)
        .setDirectUrl("bolt://127.0.0.1:22000")
        .setRegister(false)
        .setTimeout(3000);
    EchoService echoService = consumerConfig2.refer();

    consumerConfig2.unRefer();

    LOGGER.warn("started at pid {}", RpcRuntimeContext.PID);

    while (true) {
        try {
            String s = helloService.sayHello("xxx", 22);
            LOGGER.warn("{}", s);
        } catch (Exception e) {
            LOGGER.error(e.getMessage(), e);
        }
        try {
            Thread.sleep(2000);
        } catch (Exception e) {
        }
    }
}

結果は以下の通りであります:

2020年3月6日21:15:25749メインINFO [com.alipay.sofa.rpc.context.RpcRuntimeContext:情報:102] -ようこそ!ローディングSOFA RPCフレームワーク:5.5.9_20191011104639、PIDは:24356
2020年3月6日21:15:25780主INFO [com.alipay.sofa.rpc.module.ModuleFactory:INFO:102] -インストールモジュール:フォールトトレランス
2020 -03-06 21:15:25858主INFO [com.alipay.sofa.rpc.module.ModuleFactory:INFO:102] -モジュールのインストール:sofaTracer-RESTEasyの
2020年3月6日21:15:26483主INFOを[COM。 alipay.sofa.rpc.module.ModuleFactory:情報:97] -モジュールの見張りをロードする必要はありません。
2020年3月6日21:15:26483主INFO [com.alipay.sofa.rpc.module.ModuleFactory:INFO:102] -モジュールを取り付けますsofaTracer
2020年3月6日21:15:26499主INFO [com.alipay.sofa.rpc.bootstrap.DefaultConsumerBootstrap:infoWithApp:122] - [テストクライアント]消費者の設定を参照してください:ボルト://com.alipay.sofa.rpc .test.HelloService:ビーンID RPC-CFG-0と
15:26561主INFO [com.alipay.sofa.rpc.client.AllConnectConnectionHolder:infoWithApp:122] 2020年3月6日21 - [テストクライアント]プロバイダを追加com.alipay.sofa.rpc.test.HelloServiceの、サイズがある:1
2020年3月6日21:15:28312主INFO [com.alipay.sofa.rpc.bootstrap.DefaultConsumerBootstrap:infoWithApp:122] - [テスト-クライアント】消費者の設定参照してください:ボルト://com.alipay.sofa.rpc.test.EchoService:ビーンIDのRPC-CFG-1
2020年3月6日21:15:28312主INFO [com.alipay.sofa.rpcを.client.AllConnectConnectionHolder:infoWithApp:122] - [テストクライアント] com.alipay.sofa.rpc.test.EchoServiceのプロバイダを追加し、サイズは1
2020年3月6日21:15:28625 SOFA-CLI-CONN-com.alipay.sofa.rpc.test.EchoService -6- T1 INFO [com.alipay.sofa.rpc.client.AllConnectConnectionHolder:infoWithApp:122] - [テストクライアント]接続com.alipay.sofa.rpc.test.EchoServiceプロバイダへ:ボルト://127.0.0.1:22000の成功!< - >接続が127.0.0.1:22000ある127.0.0.1:6975
2020年3月6日21:15:28625 SOFA-CLI-CONN-com.alipay.sofa.rpc.test.HelloService-3-T1 INFO [COM .alipay.sofa.rpc.client.AllConnectConnectionHolder:infoWithApp:122] - [テストクライアント]接続com.alipay.sofa.rpc.test.HelloServiceプロバイダへ:ボルト://127.0.0.1:22000の成功!< - > 127.0.0.1:6975接続が127.0.0.1:22000です
2020年3月6日21:15:28625主INFO [com.alipay.sofa.rpc.bootstrap.DefaultConsumerBootstrap:infoWithApp:122] - [テストクライアント] UnRefer消費者設定:ボルト://com.alipay.sofa.rpc .test.EchoService:ビーンIDのRPC-CFG-1
2020年3月6日21:15:28625主は[com.alipay.sofa.rpc.bolt.start.BoltClientMainを:警告:142] WARN - PID 24356で開始
2020年-03-06 21:15:28625メインINFO [com.alipay.sofa.rpc.tracer.Tracers:情報:102] -ロードトレーサのimplの成功:sofaTracer、com.alipay.sofa.rpc.tracer.sofatracer.RpcSofaTracer @ 3c0ecd4b
2020年3月6日21:15:28969メインINFO [com.alipay.sofa.rpc.codec.sofahessian.SofaHessianSerializer:情報:97] -ソファ-ヘッセのバージョンは、バージョン3.xである
2020年3月6日午前21時15分:29640メイン[com.alipay.sofa.rpc.bolt.start.BoltClientMainを:警告:142] WARN -ハローXXXをサーバから!年齢:22
2020年3月6日21:15:31655主WARN [com.alipay.sofa.rpc.bolt.start.BoltClientMain:警告:142] - サーバからhello XXX!年齢:22

おすすめ

転載: www.cnblogs.com/huiyao/p/12460129.html