package com.justdebugit.thrift.example.thriftrpc;
import java.util.Map;
import org.apache.thrift.TProcessor;
import com.google.common.collect.ImmutableMap;
import com.justdebugit.thrift.example.raw.BlackServiceImpl;
import com.justdebugit.thrift.example.raw.UserManagerServiceImpl;
import com.justdebugit.thrift.generated.BlackService;
import com.justdebugit.thrift.generated.UserManagerService;
import com.justdebugit.thrift.provider.RpcProvider;
public class RpcProviderMain {
public static void main(String[] args) {
final Map<String, TProcessor> processorMap = ImmutableMap
.<String, TProcessor> of(
"blackService",
new BlackService.Processor<BlackService.Iface>(
new BlackServiceImpl()),
"userService",
new UserManagerService.Processor<UserManagerService.Iface>(
new UserManagerServiceImpl()));
final RpcProvider rpcProvider = RpcProvider.builder()
.connectStringForzk("127.0.0.1:2181")
.processorMap(processorMap).serverPort(8080).build();
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
rpcProvider.stop();
}
}));
rpcProvider.start();
}
}