@Override protected <T> T doRefer(Class<T> type, URL url) throws RpcException { FramedClientConnector connector = new FramedClientConnector(HostAndPort.fromParts(url.getHost(), url.getPort())); try { ThriftClientManager clientManager = new ThriftClientManager(); T ref = clientManager.createClient(connector, type).get(); return ref; } catch (Exception e) { throw new RpcException( "Fail to create remoting client for service(" + url + "): " + e.getMessage(), e ); } } }
@BeforeMethod(alwaysRun = true) public void setup() throws IllegalAccessException, InstantiationException, TException { codecManager = new ThriftCodecManager(); clientManager = new ThriftClientManager(codecManager); }
@BeforeMethod(alwaysRun = true) public void setup() throws IllegalAccessException, InstantiationException, TException { codecManager = new ThriftCodecManager(); clientManager = new ThriftClientManager(codecManager); syncServer = createSyncServer(); }
/** * Try to establish new connection to JobProgressTracker */ private void resetConnection() throws ExecutionException, InterruptedException { clientManager = new ThriftClientManager( new ThriftCodecManager(new ThriftCodec[0]), new NiftyClient( new NettyClientConfigBuilder().setWorkerThreadCount(2).build()), ImmutableSet.<ThriftClientEventHandler>of()); FramedClientConnector connector = new FramedClientConnector(new InetSocketAddress( ClientThriftServer.CLIENT_THRIFT_SERVER_HOST.get(conf), ClientThriftServer.CLIENT_THRIFT_SERVER_PORT.get(conf))); jobProgressTracker = clientManager.createClient(connector, JobProgressTracker.class).get(); }
private com.facebook.swift.service.ResultCode logSwift(int port, List<com.facebook.swift.service.LogEntry> entries) throws Exception { try ( ThriftClientManager clientManager = new ThriftClientManager(); Scribe scribe = clientManager.createClient( new FramedClientConnector(fromParts("localhost", port)), Scribe.class).get() ) { return scribe.log(entries); } }
@BeforeMethod public void setupTest() throws Exception { // TODO: move this to setupSuite when TestNG/surefire integration is fixed handler = handlerClass.newInstance(); server = createServer(handler).start(); clientManager = new ThriftClientManager(codecManager); client = createClient(clientManager).get(); }
@BeforeMethod(alwaysRun = true) private void setup() throws Exception { codecManager = new ThriftCodecManager(); clientManager = new ThriftClientManager(codecManager); syncServer = createTargetServer(TARGET_SERVER_THREAD_COUNT); asyncServer = createAsyncServer(PROXY_SERVER_THREAD_COUNT, clientManager, syncServer); }
@Test public void testUnframedSyncMethod() throws Exception { TestServerInfo info = startServer(); ThriftClientManager clientManager = new ThriftClientManager(); try (Scribe client = createUnframedClient(clientManager, Scribe.class, info.port).get()) { ResultCode result = client.log(Lists.newArrayList( new LogEntry("testCategory", "testMessage"))); assertEquals(result, ResultCode.OK); } stopServer(info); }
ThriftClientManager clientManager = new ThriftClientManager(); final CountDownLatch latch = new CountDownLatch(1); final ResultCode[] resultHolder = new ResultCode[1];
@Test public void testCompactProtocolClient() throws Exception { // Server and client use compact protocol try (ScopedServer server = new ScopedServer(new TCompactProtocol.Factory()); ThriftClientManager manager = new ThriftClientManager(); Scribe client = createScribeClient(manager, server, new TCompactProtocol.Factory())) { client.log(ImmutableList.of(new LogEntry("testCategory1", "testMessage1"), new LogEntry("testCategory2", "testMessage2"))); } }
@Test public void testBinaryProtocolClient() throws Exception { // Server and client use binary protocol try (ScopedServer server = new ScopedServer(new TBinaryProtocol.Factory()); ThriftClientManager manager = new ThriftClientManager(); Scribe client = createScribeClient(manager, server, new TBinaryProtocol.Factory())) { client.log(ImmutableList.of(new LogEntry("testCategory1", "testMessage1"), new LogEntry("testCategory2", "testMessage2"))); } }
private com.facebook.swift.service.ResultCode logSwift(int port, List<com.facebook.swift.service.LogEntry> entries) throws Exception { NettyClientConfig nettyClientConfig = NettyClientConfig.newBuilder() .setSSLClientConfiguration( new SslClientConfiguration.Builder() .caFile(new File(getClass().getResource("/rsa.crt").getFile())) .build()).build(); NiftyClient niftyClient = new NiftyClient(nettyClientConfig); try ( ThriftClientManager clientManager = new ThriftClientManager(new ThriftCodecManager(), niftyClient, ImmutableSet.of()); Scribe scribe = clientManager.createClient( new FramedClientConnector(fromParts("localhost", port)), Scribe.class).get() ) { return scribe.log(entries); } }
@Test(expectedExceptions = { TTransportException.class }) public void testUnmatchedProtocols() throws Exception { // Setup a server to accept compact protocol, and try to send it a message with a binary // protocol client. Server should disconnect the client while client is trying to read the // response, so we should get a TTransportException try (ScopedServer server = new ScopedServer(new TCompactProtocol.Factory()); ThriftClientManager manager = new ThriftClientManager(); Scribe client = createScribeClient(manager, server, new TBinaryProtocol.Factory())) { client.log(ImmutableList.of(new LogEntry("testCategory1", "testMessage1"), new LogEntry("testCategory2", "testMessage2"))); } }
@Test public void testPumaSwiftException() throws Exception { PumaReadServer puma = new PumaReadServer(); ReadSemanticException exception = new ReadSemanticException("my exception"); puma.setException(exception); NiftyProcessor processor = new ThriftServiceProcessor(new ThriftCodecManager(), ImmutableList.<ThriftEventHandler>of(), puma); try ( ThriftServer server = new ThriftServer(processor).start(); ThriftClientManager clientManager = new ThriftClientManager(); PumaReadService pumaClient = clientManager.createClient( new FramedClientConnector(HostAndPort.fromParts("localhost", server.getPort())), PumaReadService.class).get() ) { pumaClient.getResultTimeString(PUMA_REQUEST); fail("Expected ReadSemanticException"); } catch (ReadSemanticException e) { assertEquals(e, exception); } }
@Test public void testPumaSwift() throws Exception { // create server and start PumaReadServer puma = new PumaReadServer(); ThriftServiceProcessor processor = new ThriftServiceProcessor(new ThriftCodecManager(), ImmutableList.<ThriftEventHandler>of(), puma); // create server and client try ( ThriftServer server = new ThriftServer(processor).start(); ThriftClientManager clientManager = new ThriftClientManager(); PumaReadService pumaClient = clientManager.createClient( new FramedClientConnector(fromParts("localhost", server.getPort())), PumaReadService.class).get() ) { // invoke puma List<ReadResultQueryInfoTimeString> results = pumaClient.getResultTimeString(PUMA_REQUEST); verifyPumaResults(results); } }
@Test public void testGenericProcessor() throws ExecutionException, InterruptedException { ThriftCodecManager codecManager = new ThriftCodecManager(); ThriftServiceProcessor processor = new ThriftServiceProcessor(codecManager, ImmutableList.<ThriftEventHandler>of(), new GenericService()); try (ThriftServer server = new ThriftServer(processor, new ThriftServerConfig()).start(); ThriftClientManager clientManager = new ThriftClientManager(codecManager)) { ThriftClient<GenericInterface.Client> clientOpener = new ThriftClient<>(clientManager, GenericInterface.Client.class); try (GenericInterface.Client client = clientOpener.open(new FramedClientConnector(HostAndPort.fromParts("localhost", server.getPort()))).get()) { GenericStruct<String> original = new GenericStruct<>(); original.genericField = "original.genericField"; GenericStruct<String> copy = client.echo(original); assertEquals(original, copy); } } } }