1616import dubbo
1717from dubbo .configs import RegistryConfig , ServiceConfig
1818from dubbo .proxy .handlers import RpcMethodHandler , RpcServiceHandler
19- from samples .data import greeter_pb2
19+ from samples .proto import greeter_pb2
2020
2121
22- def say_hello (request ):
23- print (f"Received request: { request } " )
24- return greeter_pb2 .GreeterReply (message = f"{ request .name } Dubbo!" )
22+ class GreeterServiceServicer :
23+ def say_hello (self , request ):
24+ print (f"Received request: { request .name } " )
25+ return greeter_pb2 .GreeterReply (message = f"Hello, { request .name } !" )
2526
2627
27- if __name__ == "__main__" :
28+ def build_server_handler () :
2829 # build a method handler
2930 method_handler = RpcMethodHandler .unary (
30- say_hello ,
31+ GreeterServiceServicer (). say_hello ,
3132 method_name = "sayHello" ,
3233 request_deserializer = greeter_pb2 .GreeterRequest .FromString ,
3334 response_serializer = greeter_pb2 .GreeterReply .SerializeToString ,
@@ -37,10 +38,15 @@ def say_hello(request):
3738 service_name = "org.apache.dubbo.samples.data.Greeter" ,
3839 method_handlers = [method_handler ],
3940 )
41+ return service_handler
42+
4043
44+ if __name__ == "__main__" :
4145 registry_config = RegistryConfig .from_url ("zookeeper://127.0.0.1:2181" )
4246 bootstrap = dubbo .Dubbo (registry_config = registry_config )
4347
48+ # build a service config
49+ service_handler = build_server_handler ()
4450 service_config = ServiceConfig (service_handler )
4551
4652 # start the server
0 commit comments