當前位置: 首頁>>代碼示例>>Java>>正文


Java Server類代碼示例

本文整理匯總了Java中io.grpc.Server的典型用法代碼示例。如果您正苦於以下問題:Java Server類的具體用法?Java Server怎麽用?Java Server使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Server類屬於io.grpc包,在下文中一共展示了Server類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: newInstance

import io.grpc.Server; //導入依賴的package包/類
@Override
public Lifecycle newInstance(KernelContext kernelContext, final Dependencies dependencies) throws Throwable {
    return new LifecycleAdapter() {

        private Server server;

        @Override
        public void start() throws Throwable {
            server  = ServerBuilder.forPort(9999).addService(new Neo4jGRPCService(dependencies.getGraphDatabaseService())).build();
            server.start();
            System.out.println("Started gRPC Server.");
        }

        @Override
        public void shutdown() throws Throwable {
            server.shutdown();
        }
    };
}
 
開發者ID:maxdemarzi,項目名稱:neo_grpc,代碼行數:20,代碼來源:RegistergRPCExtensionFactory.java

示例2: close

import io.grpc.Server; //導入依賴的package包/類
/**
 * Shutdown the gRPC {@link Server} when this object is closed.
 */
@Override
public void close() throws Exception {
    final Server server = server();

    if (server != null) {
        server.shutdown();

        try {
            // TODO: Maybe we should catch the InterruptedException from this?
            server.awaitTermination(shutdownWaitTimeInMillis, TimeUnit.MILLISECONDS);
        } finally {
            server.shutdownNow();

            this.server = null;
        }
    }
}
 
開發者ID:salesforce,項目名稱:grpc-java-contrib,代碼行數:21,代碼來源:GrpcServerHost.java

示例3: start

import io.grpc.Server; //導入依賴的package包/類
/**
 * Start Netty Grpc Server.
 *
 * @return Server gRPC Server
 * @throws IOException - when something went wrong starting the grpc server
 */
final Server start() throws IOException {
  final int port = 8080;

  log.info("Starting grpc server on port '{}'...", port);
  final Server server =
      NettyServerBuilder
          .forPort(port)
          .addService(productReadService)
          .addService(productUpdateService)
          .addService(ServerInterceptors.intercept(echoService, serviceInterceptor))
          .build();

  server.start();
  log.info("grpc (port={}) server started successfully.", port);

  return server;
}
 
開發者ID:email2liyang,項目名稱:grpc-mate,代碼行數:24,代碼來源:GrpcServer.java

示例4: stopSendingWhenClusterIsDown

import io.grpc.Server; //導入依賴的package包/類
@Test
public void stopSendingWhenClusterIsDown() throws Exception {
  servers.values().forEach(Server::shutdownNow);
  messageSender.onConnected();

  Thread thread = new Thread(() -> messageSender.send(event));
  thread.start();

  // we don't want to keep sending on cluster down
  await().atMost(2, SECONDS).until(() -> thread.isAlive() && thread.getState().equals(WAITING));

  assertThat(eventsMap.get(8080).isEmpty(), is(true));
  assertThat(eventsMap.get(8090).isEmpty(), is(true));

  startServerOnPort(8080);
  startServerOnPort(8090);

  await().atMost(2, SECONDS).until(() -> connected.get(8080).size() == 2 || connected.get(8090).size() == 2);
  await().atMost(2, SECONDS).until(() -> eventsMap.get(8080).size() == 1 || eventsMap.get(8090).size() == 1);
}
 
開發者ID:apache,項目名稱:incubator-servicecomb-saga,代碼行數:21,代碼來源:LoadBalancedClusterMessageSenderTest.java

示例5: startDoesNotStartServerWithoutServices

import io.grpc.Server; //導入依賴的package包/類
@Test
public void startDoesNotStartServerWithoutServices() throws Exception {
    final int port = ThreadLocalRandom.current().nextInt(1000, 10000);
    final long shutdownWaitTimeInMillis = ThreadLocalRandom.current().nextLong(1000, 10000);

    final ApplicationContext applicationContext = mock(ApplicationContext.class);
    final Server server = mock(Server.class, new TriesToReturnSelf());
    final GrpcServerFactory factory = mock(GrpcServerFactory.class);

    when(server.getPort()).thenReturn(port);

    // Configure application context to contain no gRPC services.
    when(applicationContext.getBeansWithAnnotation(eq(GrpcService.class))).thenReturn(ImmutableMap.of());

    GrpcServerHost runner = new GrpcServerHost(port, shutdownWaitTimeInMillis, factory);
    runner.setApplicationContext(applicationContext);

    assertThatThrownBy(runner::start).isInstanceOf(IOException.class);

    // Make sure the server builder was not used.
    verify(factory, never()).buildServerForServices(anyInt(), any());

    assertThat(runner.server()).isNull();
}
 
開發者ID:salesforce,項目名稱:grpc-java-contrib,代碼行數:25,代碼來源:GrpcServerHostTest.java

示例6: getPortReturnsServerPortForRunningServer

import io.grpc.Server; //導入依賴的package包/類
@Test
public void getPortReturnsServerPortForRunningServer() throws Exception {
    final int configPort = ThreadLocalRandom.current().nextInt(1000, 2000);
    final int serverPort = ThreadLocalRandom.current().nextInt(2000, 3000);
    final int serviceCount = ThreadLocalRandom.current().nextInt(5, 10);
    final long shutdownWaitTimeInMillis = ThreadLocalRandom.current().nextLong(1000, 10000);

    final ApplicationContext applicationContext = mock(ApplicationContext.class);
    final Server server = mock(Server.class, new TriesToReturnSelf());
    final GrpcServerFactory factory = (p, s) -> server;

    final Map<String, Object> services = IntStream.range(0, serviceCount)
            .mapToObj(i -> mock(BindableService.class))
            .collect(Collectors.toMap(s -> UUID.randomUUID().toString(), s -> s));

    when(applicationContext.getBeansWithAnnotation(eq(GrpcService.class))).thenReturn(services);

    when(server.getPort()).thenReturn(serverPort);

    GrpcServerHost runner = new GrpcServerHost(configPort, shutdownWaitTimeInMillis, factory);
    runner.setApplicationContext(applicationContext);

    runner.start();

    assertThat(runner.getPort()).isEqualTo(serverPort);
}
 
開發者ID:salesforce,項目名稱:grpc-java-contrib,代碼行數:27,代碼來源:GrpcServerHostTest.java

示例7: shutdownGracefully

import io.grpc.Server; //導入依賴的package包/類
/**
 * Attempt to {@link Server#shutdown()} the {@link Server} gracefully. If the max wait time is exceeded, give up and
 * perform a hard {@link Server#shutdownNow()}.
 *
 * @param server the server to be shutdown
 * @param timeout the max amount of time to wait for graceful shutdown to occur
 * @param unit the time unit denominating the shutdown timeout
 * @return the given server
 * @throws InterruptedException if waiting for termination is interrupted
 */
public static Server shutdownGracefully(Server server, long timeout, TimeUnit unit) throws InterruptedException {
    Preconditions.checkNotNull(server, "server");
    Preconditions.checkArgument(timeout > 0, "timeout must be greater than 0");
    Preconditions.checkNotNull(unit, "unit");

    server.shutdown();

    try {
        server.awaitTermination(timeout, unit);
    } finally {
        server.shutdownNow();
    }

    return server;
}
 
開發者ID:salesforce,項目名稱:grpc-java-contrib,代碼行數:26,代碼來源:Servers.java

示例8: shutdownGracefullyPropagatesAwaitInterrupt

import io.grpc.Server; //導入依賴的package包/類
@Test
public void shutdownGracefullyPropagatesAwaitInterrupt() throws Exception {
    final Server server = mock(Server.class);
    final long maxWaitTimeInMillis = ThreadLocalRandom.current().nextLong(1, 10000);

    final InterruptedException interruptedException = new InterruptedException();

    when(server.awaitTermination(anyLong(), any())).thenThrow(interruptedException);

    assertThatThrownBy(() -> Servers.shutdownGracefully(server, maxWaitTimeInMillis))
            .isSameAs(interruptedException);

    InOrder inOrder = Mockito.inOrder(server);

    inOrder.verify(server).shutdown();
    inOrder.verify(server).awaitTermination(eq(maxWaitTimeInMillis), eq(TimeUnit.MILLISECONDS));
    inOrder.verify(server).shutdownNow();
}
 
開發者ID:salesforce,項目名稱:grpc-java-contrib,代碼行數:19,代碼來源:ServersTest.java

示例9: serverRunsAndRespondsCorrectly

import io.grpc.Server; //導入依賴的package包/類
@Test
public void serverRunsAndRespondsCorrectly() throws ExecutionException,
        IOException,
        InterruptedException,
        TimeoutException {
    final String name = UUID.randomUUID().toString();

    Server server = ServerBuilder.forPort(9999)
            .addService(new GreeterImpl())
            .build();

    server.start();

    ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", server.getPort())
            .usePlaintext(true)
            .build();

    GreeterGrpc8.GreeterCompletableFutureStub stub = GreeterGrpc8.newCompletableFutureStub(channel);

    CompletableFuture<HelloResponse> response = stub.sayHello(HelloRequest.newBuilder().setName(name).build());

    await().atMost(3, TimeUnit.SECONDS).until(() -> response.isDone() && response.get().getMessage().contains(name));

    channel.shutdown();
    channel.awaitTermination(1, TimeUnit.MINUTES);
    channel.shutdownNow();

    server.shutdown();
    server.awaitTermination(1, TimeUnit.MINUTES);
    server.shutdownNow();
}
 
開發者ID:salesforce,項目名稱:grpc-java-contrib,代碼行數:32,代碼來源:CompletableFutureEndToEndTest.java

示例10: main

import io.grpc.Server; //導入依賴的package包/類
public static void main(String[] args) throws InterruptedException {
	
	Server server=ServerBuilder.forPort(Config.getLocalPortProvider())
					.addService(new AddService())
					.build();
	try {
		server.start();
		
		ProviderBootstrap.init();
		
		server.awaitTermination();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

}
 
開發者ID:laddcn,項目名稱:grpcx,代碼行數:18,代碼來源:Provider.java

示例11: createAndStart

import io.grpc.Server; //導入依賴的package包/類
/**
 * Tries a few times to start a server. If this returns, the server has been started. Throws
 * {@link RuntimeException} on failure.
 */
public static TestServer createAndStart(Optional<SslContext> sslContext) {
  RecordingTestService recordingTestService = new RecordingTestService(
      UNARY_SERVER_RESPONSE,
      STREAMING_SERVER_RESPONSE,
      CLIENT_STREAMING_SERVER_RESPONSE,
      BIDI_SERVER_RESPONSE);

  Random random = new Random();
  for (int i = 0; i < NUM_SERVER_START_TRIES; ++i) {
    int port = random.nextInt(MAX_SERVER_PORT - MIN_SERVER_PORT + 1) + MIN_SERVER_PORT;
    try {
      Server server = tryStartServer(port, recordingTestService, sslContext);

      // If we got this far, we have successfully started the server.
      return new TestServer(server, port, recordingTestService);
    } catch (IOException e) {
      // The random port might have been in use, try again...
      continue;
    }
  }

  // If we got to here, we didn't manage to start a server.
  throw new RuntimeException("Unable to start server after " + NUM_SERVER_START_TRIES + " tries");
}
 
開發者ID:grpc-ecosystem,項目名稱:polyglot,代碼行數:29,代碼來源:TestServer.java

示例12: main

import io.grpc.Server; //導入依賴的package包/類
public static void main(String[] args) throws IOException, InterruptedException {
  RxMetricsServiceGrpc.MetricsServiceImplBase service = new RxMetricsServiceGrpc.MetricsServiceImplBase() {

    @Override
    public Single<Streaming.Average> collect(Flowable<Streaming.Metric> request) {
      return request.map(m -> m.getMetric())
          .map(m -> new State(m, 1))
          .reduce((a, b) -> new State(a.sum + b.sum, a.count + b.count))
          .map(s -> Streaming.Average.newBuilder().setVal(s.sum / s.count).build())
          .toSingle();
    }
  };

  Server server = ServerBuilder.forPort(8080)
      .addService(service)
      .build();

  server.start();
  server.awaitTermination();
}
 
開發者ID:saturnism,項目名稱:grpc-java-by-example,代碼行數:21,代碼來源:RxMetricsServer.java

示例13: createAndStartGrpcServer

import io.grpc.Server; //導入依賴的package包/類
protected void createAndStartGrpcServer() throws IOException {
	Server localServer = this.server;
	if (localServer == null) {
		this.server = factory.createServer();
		this.server.start();
		logger.info("gRPC Server started, listening on address: "
				+ this.factory.getAddress() + ", port: " + this.factory.getPort());

		Thread awaitThread = new Thread(
				"container-" + (serverCounter.incrementAndGet())) {

			@Override
			public void run() {
				try {
					GrpcServerLifecycle.this.server.awaitTermination();
				}
				catch (InterruptedException e) {
					Thread.currentThread().interrupt();
				}
			}

		};
		awaitThread.setDaemon(false);
		awaitThread.start();
	}
}
 
開發者ID:saturnism,項目名稱:spring-boot-starter-grpc,代碼行數:27,代碼來源:GrpcServerLifecycle.java

示例14: run

import io.grpc.Server; //導入依賴的package包/類
/** Equivalent of "main", but non-static. */
public void run(String[] args) throws Exception {

	final Server server = newServer();

	server.start();

	Runtime.getRuntime().addShutdownHook(new Thread() {
		@Override
		public void run() {
			try {
				System.out.println("Server shutting down");
				server.shutdown();
				server.awaitTermination(5, TimeUnit.SECONDS);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	});
}
 
開發者ID:zourzouvillys,項目名稱:graphql,代碼行數:21,代碼來源:AsyncServer.java

示例15: start

import io.grpc.Server; //導入依賴的package包/類
private AsyncFuture<Void> start() throws IOException {
    final Server server = NettyServerBuilder
        .forAddress(address)
        .addService(bindService())
        .maxMessageSize(maxFrameSize)
        .bossEventLoopGroup(bossGroup)
        .workerEventLoopGroup(workerGroup)
        .build();

    return async.call(() -> {
        server.start();
        this.server.set(server);
        return null;
    }).directTransform(v -> {
        final InetSocketAddress localAddress = extractInetSocketAddress(server);
        bindFuture.resolve(localAddress);
        return null;
    });
}
 
開發者ID:spotify,項目名稱:heroic,代碼行數:20,代碼來源:GrpcRpcProtocolServer.java


注:本文中的io.grpc.Server類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。