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