Refine search
@Test(expected = FlumeException.class) public void testCreatingLbClientSingleHost() { Server server1 = null; RpcClient c = null; try { server1 = RpcTestUtils.startServer(new OKAvroHandler()); Properties p = new Properties(); p.put("host1", "127.0.0.1:" + server1.getPort()); p.put("hosts", "host1"); p.put("client.type", "default_loadbalance"); RpcClientFactory.getInstance(p); } finally { if (server1 != null) server1.close(); if (c != null) c.close(); } }
@Override public void start() { logger.info("Starting {}...", this); try { Responder responder = new SpecificResponder(AvroSourceProtocol.class, this); socketChannelFactory = initSocketChannelFactory(); ChannelPipelineFactory pipelineFactory = initChannelPipelineFactory(); server = new NettyServer(responder, new InetSocketAddress(bindAddress, port), socketChannelFactory, pipelineFactory, null); } catch (org.jboss.netty.channel.ChannelException nce) { logger.error("Avro source {} startup failed. Cannot initialize Netty server", getName(), nce); stop(); throw new FlumeException("Failed to set up server socket", nce); } connectionCountUpdater = Executors.newSingleThreadScheduledExecutor(); server.start(); sourceCounter.start(); super.start(); final NettyServer srv = (NettyServer)server; connectionCountUpdater.scheduleWithFixedDelay( () -> sourceCounter.setOpenConnectionCount(Long.valueOf(srv.getNumActiveConnections())), 0, 60, TimeUnit.SECONDS); logger.info("Avro source {} started.", getName()); }
/** * Request that the specified Server stop, and attempt to wait for it to exit. * @param server A running NettyServer */ public static void stopServer(Server server) { try { server.close(); server.join(); } catch (InterruptedException ex) { logger.error("Thread interrupted. Exception follows.", ex); Thread.currentThread().interrupt(); } }
@BeforeClass public static void initializeConnections() throws Exception { // start server Responder responder = new SpecificResponder(Simple.class, simpleService); server = new NettyServer(responder, new InetSocketAddress(0)); server.start(); int serverPort = server.getPort(); System.out.println("server port : " + serverPort); transceiver = new NettyTransceiver(new InetSocketAddress( serverPort), TestNettyServer.CONNECT_TIMEOUT_MILLIS); simpleClient = SpecificRequestor.getClient(Simple.Callback.class, transceiver); }
/** * configure the NettyAvroRpcClient with a non-default * NioClientSocketChannelFactory number of io worker threads * * @throws FlumeException * @throws EventDeliveryException */ @Test public void testAppendWithMaxIOWorkers() throws FlumeException, EventDeliveryException { NettyAvroRpcClient client = null; Server server = RpcTestUtils.startServer(new OKAvroHandler()); Properties props = new Properties(); props.setProperty(RpcClientConfigurationConstants.CONFIG_HOSTS, "localhost"); props.setProperty(RpcClientConfigurationConstants.CONFIG_HOSTS_PREFIX + "localhost", localhost + ":" + server.getPort()); props.setProperty(RpcClientConfigurationConstants.MAX_IO_WORKERS, Integer.toString(2)); try { client = new NettyAvroRpcClient(); client.configure(props); for (int i = 0; i < 5; i++) { client.append(EventBuilder.withBody("evt:" + i, Charset.forName("UTF8"))); } } finally { RpcTestUtils.stopServer(server); if (client != null) { client.close(); } } }
@Test public void testPropertiesBatchAppend() throws FlumeException, EventDeliveryException { int batchSize = 7; RpcClient client = null; Server server = RpcTestUtils.startServer(new OKAvroHandler()); try { Properties p = new Properties(); p.put("hosts", "host1"); p.put("hosts.host1", localhost + ":" + String.valueOf(server.getPort())); p.put("batch-size", String.valueOf(batchSize)); client = RpcClientFactory.getInstance(p); List<Event> events = new ArrayList<Event>(); for (int i = 0; i < batchSize; i++) { events.add(EventBuilder.withBody("evt: " + i, Charset.forName("UTF8"))); } client.appendBatch(events); } finally { RpcTestUtils.stopServer(server); if (client != null) client.close(); } }
@Override public Transceiver createTransceiver() throws Exception { return new SocketTransceiver(new InetSocketAddress(server.getPort())); }
@Test(expected=SaslException.class) public void testAnonymousClient() throws Exception { Server s = new SaslSocketServer (new TestResponder(), new InetSocketAddress(0), DIGEST_MD5_MECHANISM, SERVICE, HOST, DIGEST_MD5_PROPS, new TestSaslCallbackHandler()); s.start(); Transceiver c = new SaslSocketTransceiver(new InetSocketAddress(s.getPort())); GenericRequestor requestor = new GenericRequestor(PROTOCOL, c); GenericRecord params = new GenericData.Record(PROTOCOL.getMessages().get("hello").getRequest()); params.put("greeting", "bob"); Utf8 response = (Utf8)requestor.request("hello", params); assertEquals(new Utf8("goodbye"), response); s.close(); c.close(); }
switch (proto) { case SASL: iaddress=new InetSocketAddress(0); this.outputServer = new SaslSocketServer (new SpecificResponder(OutputProtocol.class, outputService), break; case HTTP: iaddress=new InetSocketAddress(0); iaddress.getPort()); break; case NONE: outputServer.start();
InetSocketAddress iaddress=new InetSocketAddress(0); (new SpecificResponder(InputProtocol.class, this), iaddress); LOG.info("Started SaslSocketServer on port:"+iaddress.getPort()); break; this.inputServer=new HttpServer (new SpecificResponder(InputProtocol.class, this), iaddress.getPort()); LOG.info("Started HttpServer on port:"+iaddress.getPort()); inputServer.start(); task.open(inputServer.getPort());
@Test(expected=SaslException.class) public void testWrongPassword() throws Exception { Server s = new SaslSocketServer (new TestResponder(), new InetSocketAddress(0), DIGEST_MD5_MECHANISM, SERVICE, HOST, DIGEST_MD5_PROPS, new TestSaslCallbackHandler()); s.start(); SaslClient saslClient = Sasl.createSaslClient (new String[]{DIGEST_MD5_MECHANISM}, PRINCIPAL, SERVICE, HOST, DIGEST_MD5_PROPS, new WrongPasswordCallbackHandler()); Transceiver c = new SaslSocketTransceiver (new InetSocketAddress(server.getPort()), saslClient); GenericRequestor requestor = new GenericRequestor(PROTOCOL, c); GenericRecord params = new GenericData.Record(PROTOCOL.getMessages().get("hello").getRequest()); params.put("greeting", "bob"); Utf8 response = (Utf8)requestor.request("hello", params); assertEquals(new Utf8("goodbye"), response); s.close(); c.close(); }
public static void main(String[] args) throws IOException { if (args.length != 3) { System.out.println("Usage: <to> <from> <body>"); System.exit(1); } logger.info("Starting Server"); // usually this would be another app, but for simplicity startServer(); logger.info("Server started"); NettyTransceiver client = new NettyTransceiver(new InetSocketAddress(65333)); // client code - attach to the server and send a message EmailSender proxy = SpecificRequestor.getClient(EmailSender.class, client); logger.info("Client built, got proxy"); // fill in the Message record and send it EmailMessage message = new EmailMessage(); message.setTo(new Utf8(args[0])); message.setFrom(new Utf8(args[1])); message.setBody(new Utf8(args[2])); logger.info("Calling proxy.send with message: {} ", message.toString()); logger.info("Result: {}", proxy.send(message)); // cleanup client.close(); server.close(); } }
int run2(PrintStream err) throws InterruptedException { latch.await(); err.println("Closing server."); server.close(); return 0; }
@Override public Transceiver createTransceiver() throws Exception{ return new HttpTransceiver(new URL("http://127.0.0.1:"+server.getPort()+"/")); }
@Before public void testStartServer() throws Exception { if (server != null) return; responder = new SpecificResponder(Simple.class, new TestImpl()); server = createServer(responder); server.start(); client = createTransceiver(); SpecificRequestor req = new SpecificRequestor(Simple.class, client); addRpcPlugins(req); proxy = SpecificRequestor.getClient(Simple.class, (SpecificRequestor)req); monitor = new HandshakeMonitor(); responder.addRPCPlugin(monitor); }
/** Wait for task to complete. */ public void join() throws InterruptedException { LOG.info("TetherTaskRunner: Start join."); inputServer.join(); LOG.info("TetherTaskRunner: Finish join."); }
/** * Helper method for testing simple (single) with compression level 6 appends on handlers * @param handler * @throws FlumeException * @throws EventDeliveryException */ public static void handlerSimpleAppendTest(AvroSourceProtocol handler, boolean enableServerCompression, boolean enableClientCompression, int compressionLevel) throws FlumeException, EventDeliveryException { NettyAvroRpcClient client = null; Server server = startServer(handler, 0, enableServerCompression); try { Properties starterProp = new Properties(); if (enableClientCompression) { starterProp.setProperty(RpcClientConfigurationConstants.CONFIG_COMPRESSION_TYPE, "deflate"); starterProp.setProperty(RpcClientConfigurationConstants.CONFIG_COMPRESSION_LEVEL, "" + compressionLevel); } else { starterProp.setProperty(RpcClientConfigurationConstants.CONFIG_COMPRESSION_TYPE, "none"); } client = getStockLocalClient(server.getPort(), starterProp); boolean isActive = client.isActive(); Assert.assertTrue("Client should be active", isActive); client.append(EventBuilder.withBody("wheee!!!", Charset.forName("UTF8"))); } finally { stopServer(server); if (client != null) client.close(); } }