• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Router类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中io.vertx.reactivex.ext.web.Router的典型用法代码示例。如果您正苦于以下问题:Java Router类的具体用法?Java Router怎么用?Java Router使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Router类属于io.vertx.reactivex.ext.web包,在下文中一共展示了Router类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: recordServer

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
private void recordServer(final HttpServerOptions options,
                          final Router router) {
    final Integer port = options.getPort();
    final AtomicInteger out = ZeroAtomic.RX_START_LOGS.get(port);
    if (Values.ZERO == out.getAndIncrement()) {
        // 1. Build logs for current server;
        final String portLiteral = String.valueOf(port);
        LOGGER.info(Info.RX_SERVERS, this.NAME, deploymentID(),
                portLiteral);
        final List<Route> routes = router.getRoutes();
        final Map<String, Route> routeMap = new TreeMap<>();
        for (final Route route : routes) {
            // 2.Route
            final String path = null == route.getPath() ? "/*" : route.getPath();
            routeMap.put(path, route);
        }
        routeMap.forEach((path, route) ->
                LOGGER.info(Info.MAPPED_ROUTE, this.NAME, path,
                        route.toString()));
        // 3. Endpoint Publish
        final String address =
                MessageFormat.format("http://{0}:{1}/",
                        options.getHost(), portLiteral);
        LOGGER.info(Info.RX_LISTEN, this.NAME, address);
    }
}
 
开发者ID:silentbalanceyh,项目名称:vertx-zero,代码行数:27,代码来源:ZeroRxAgent.java


示例2: setUp

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Before
public void setUp(TestContext testContext) {
  vertx = new Vertx(rule.vertx());
  Router router = Router.router(vertx);

  BookDatabaseService bookDatabaseService = Mockito.mock(BookDatabaseService.class);

  JsonArray mockDbResponse = new JsonArray()
    .add(new JsonObject()
      .put("id", 1)
      .put("title", "Effective Java")
      .put("category", "java")
      .put("publicationDate", "2009-01-01"))
    .add(new JsonObject()
      .put("id", 2)
      .put("title", "Thinking in Java")
      .put("category", "java")
      .put("publicationDate", "2006-02-20"));


  Mockito.when(bookDatabaseService.rxGetBooks(new Book())).thenReturn(Single.just(mockDbResponse));

  router.get("/books").handler(new GetBooksHandler(bookDatabaseService));

  vertx.createHttpServer().requestHandler(router::accept).listen(1234, testContext.asyncAssertSuccess());
}
 
开发者ID:BillyYccc,项目名称:vertx-postgresql-starter,代码行数:27,代码来源:GetBooksHandlerTest.java


示例3: setUp

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Before
public void setUp(TestContext testContext) {
  vertx = new Vertx(rule.vertx());
  Router router = Router.router(vertx);

  BookDatabaseService bookDatabaseService = Mockito.mock(BookDatabaseService.class);

  JsonObject mockDbResponse = new JsonObject()
    .put("id", 1)
    .put("title", "Effective Java")
    .put("category", "java")
    .put("publicationDate", "2009-01-01");


  Mockito.when(bookDatabaseService.rxGetBookById(1)).thenReturn(Single.just(mockDbResponse));

  router.get("/books/:id").handler(new GetBookByIdHandler(bookDatabaseService));

  vertx.createHttpServer().requestHandler(router::accept).listen(1234, testContext.asyncAssertSuccess());
}
 
开发者ID:BillyYccc,项目名称:vertx-postgresql-starter,代码行数:21,代码来源:GetBookByIdHandlerTest.java


示例4: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start(Future<Void> startFuture) throws Exception {
    configureJsonMapper();
    Router router = Router.router(vertx);

    router.route().handler(BodyHandler.create());
    router.route().failureHandler(one.valuelogic.vertx.web.problem.reactivex.ProblemHandler.create());
    router.get("/test-get").handler(context -> context.response().end("ok"));
    router.get("/test-error").handler(context -> { throw new DecodeException("testing decode error"); });
    router.route().last().handler(one.valuelogic.vertx.web.problem.reactivex.NotFoundHandler.create());

    vertx.createHttpServer()
            .requestHandler(router::accept)
            .rxListen(HTTP_PORT)
            .subscribe(s -> startFuture.complete(), startFuture::fail);
}
 
开发者ID:valuelogic,项目名称:vertx-web-problem,代码行数:17,代码来源:ExampleVerticle.java


示例5: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start() throws Exception {
    Router router = Router.router(vertx);
    router.get().handler(this::convertPortfolioToEuro);
    router.post().handler(BodyHandler.create());
    router.post().handler(this::delegateWithCircuitBreaker);

    circuit = CircuitBreaker.create("circuit-breaker", vertx,
        new CircuitBreakerOptions()
            .setFallbackOnFailure(true)
            .setMaxFailures(3)
            .setResetTimeout(5000)
            .setTimeout(1000)
    );

    discovery = ServiceDiscovery.create(vertx);


    vertx.createHttpServer()
        .requestHandler(router::accept)
        .listen(8080);
}
 
开发者ID:cescoffier,项目名称:vertx-kubernetes-workshop,代码行数:23,代码来源:CurrencyServiceProxy.java


示例6: configureTheHTTPServer

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
private Single<HttpServer> configureTheHTTPServer() {

        //TODO
        //----

        Router router = Router.router(vertx);
        router.get("/").handler(this::retrieveOperations);
        router.get("/health").handler(rc -> {
            if (ready) {
                rc.response().end("Ready");
            } else {
                // Service not yet available
                rc.response().setStatusCode(503).end();
            }
        });
        return vertx.createHttpServer().requestHandler(router::accept).rxListen(8080);
        //----

//        return ready;
    }
 
开发者ID:cescoffier,项目名称:vertx-kubernetes-workshop,代码行数:21,代码来源:AuditVerticle.java


示例7: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start() {   
	circuit = CircuitBreaker.create("circuit-breaker", vertx,
            new CircuitBreakerOptions()
                .setFallbackOnFailure(true)
                .setMaxFailures(3)
                .setResetTimeout(5000)
                .setTimeout(1000)
        );
    Router router = Router.router(vertx);
    router.route("/health").handler(rc -> rc.response().end("OK"));
    router.route("/").handler(this::getShoppingList);
                
}
 
开发者ID:cescoffier,项目名称:vertx-openshift-shopping-hol,代码行数:15,代码来源:MyShoppingList.java


示例8: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start() {
    /** 1.Call router hub to mount commont **/
    final Axis<Router> routerAxiser = Fn.poolThread(Pool.ROUTERS,
            () -> Instance.instance(RouterAxis.class));
    /** 2.Call route hub to mount defined **/
    final Axis<Router> axiser = Fn.poolThread(Pool.EVENTS,
            () -> Instance.instance(EventAxis.class));

    /** 3.Get the default HttpServer Options **/
    ZeroAtomic.RX_OPTS.forEach((port, option) -> {
        /** 3.1.Single server processing **/
        final HttpServer server = this.vertx.createHttpServer(option);
        /** 3.2. Build router with current option **/
        final Router router = Router.router(this.vertx);

        routerAxiser.mount(router);
        axiser.mount(router);

        /** 3.3. Listen for router on the server **/
        final Single<HttpServer> result =
                server.requestHandler(router::accept).rxListen();
        /** 3.4. Log output **/
        {
            result.subscribe((rxServer) -> {
                recordServer(option, router);
            });
        }
    });
}
 
开发者ID:silentbalanceyh,项目名称:vertx-zero,代码行数:31,代码来源:ZeroRxAgent.java


示例9: mount

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void mount(final Router router) {
    // 1. Cookie, Body
    router.route().order(Orders.COOKIE)
            .handler(CookieHandler.create());
    router.route().order(Orders.BODY)
            .handler(BodyHandler.create());
    // 2. Session
}
 
开发者ID:silentbalanceyh,项目名称:vertx-zero,代码行数:10,代码来源:RouterAxis.java


示例10: mount

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void mount(final Router router) {
    // Extract Event foreach
    EVENTS.forEach(event -> {
        // Build Route and connect to each Action
        Fn.safeSemi(null == event, LOGGER,
                () -> LOGGER.warn(Info.NULL_EVENT, getClass().getName()),
                () -> {
                    // 1. Verify
                    Verifier.verify(event);

                    final Route route = router.route();
                    // 2. Path, Method, Order
                    Hub<Route> hub = Fn.poolThread(Pool.URIHUBS,
                            () -> Instance.instance(UriHub.class));
                    hub.mount(route, event);
                    // 3. Consumes/Produces
                    hub = Fn.poolThread(Pool.MEDIAHUBS,
                            () -> Instance.instance(MediaHub.class));
                    hub.mount(route, event);

                    // 4. Request validation
                    final Depot depot = Depot.create(event);
                    // 5. Request workflow executor: handler
                    final Aim aim = this.splitter.distribute(event);
                    route.handler(this.verifier.signal(depot))
                            .failureHandler(ZeroRxEndurer.create());
                });
    });
}
 
开发者ID:silentbalanceyh,项目名称:vertx-zero,代码行数:31,代码来源:EventAxis.java


示例11: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start() throws Exception {
    Router router = Router.router(vertx);
    
    BridgeOptions options = new BridgeOptions();
    options.setOutboundPermitted(Collections.singletonList(new PermittedOptions()
        .setAddress("average")));
    router.route("/eventbus/*").handler(SockJSHandler.create(vertx).bridge(options));
    
    router.route().handler(StaticHandler.create().setCachingEnabled(false));

    vertx.createHttpServer()
        .requestHandler(router::accept)
        .listen(8080);
}
 
开发者ID:cescoffier,项目名称:various-vertx-demos,代码行数:16,代码来源:WebVerticle.java


示例12: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start() throws Exception {

    service = Services.getCustomerService(vertx);
    debt = Services.getDebtService(vertx);
    balance = Services.getBalanceService(vertx);

    Router router = Router.router(vertx);
    router.get("/").handler(this::compute);

    vertx.createHttpServer()
        .requestHandler(router::accept)
        .listen(8080);

}
 
开发者ID:cescoffier,项目名称:various-vertx-demos,代码行数:16,代码来源:GatewayVerticle.java


示例13: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start() {
    circuit = CircuitBreaker.create("circuit-breaker", vertx,
        new CircuitBreakerOptions()
            .setFallbackOnFailure(true)
            .setMaxFailures(3)
            .setResetTimeout(5000)
            .setTimeout(1000)
    );

    Router router = Router.router(vertx);
    router.route("/health").handler(rc -> rc.response().end("OK"));
    router.route("/").handler(this::getShoppingList);

    ServiceDiscovery.create(vertx, discovery -> {
        // Get pricer-service
        Single<WebClient> s1 = HttpEndpoint
            .rxGetWebClient(discovery, svc -> svc.getName().equals("pricer-service"));

        // Get shopping-backend
        Single<WebClient> s2 = HttpEndpoint
            .rxGetWebClient(discovery, svc -> svc.getName().equals("shopping-backend"));

        // When both services have been retrieved

        Single.zip(s1, s2, (p, s) -> {
            shopping = s;
            pricer = p;
            return vertx.createHttpServer()
                .requestHandler(router::accept)
                .listen(8080);
        }).subscribe();
    });


}
 
开发者ID:cescoffier,项目名称:vertx-kubernetes-live-coding-devoxx-ma,代码行数:37,代码来源:MyShoppingList.java


示例14: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start() {

    circuit = CircuitBreaker.create("circuit-breaker", vertx,
        new CircuitBreakerOptions()
            .setFallbackOnFailure(true)
            .setMaxFailures(3)
            .setResetTimeout(5000)
            .setTimeout(1000)
    );

    Router router = Router.router(vertx);
    router.route("/health").handler(rc -> rc.response().end("OK"));
    router.route("/").handler(this::getShoppingList);

    ServiceDiscovery.create(vertx, discovery -> {
        // Get pricer-service
        Single<WebClient> s1 =
            HttpEndpoint.rxGetWebClient(discovery,
                svc -> svc.getName().equals("pricer-service"));

        // Get shopping-backend
        Single<WebClient> s2 =
            HttpEndpoint.rxGetWebClient(discovery,
                svc -> svc.getName().equals("shopping-backend"));

        Single.zip(s1, s2, (p, s) -> {
            pricer = p;
            shopping = s;
            return vertx.createHttpServer()
                .requestHandler(router::accept)
                .listen(8080);
        }).subscribe();

    });
}
 
开发者ID:cescoffier,项目名称:vertx-reactive-summit-2017,代码行数:37,代码来源:MyShoppingList.java


示例15: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start(Future<Void> future) throws Exception {
    // Create a simple HTTP service (using Vert.x Web Router) and publish it in the service discovery.
    // As we want to complete the deployment when the service is exposed (asynchronous operation), we use a
    // `Future` argument to indicate when the deployment is completed. This allows deploying the other verticle
    // after the deployment completion of this one.


    // Create an instance of service discovery
    this.discovery = ServiceDiscovery.create(vertx);

    // Simple HTTP API using Vert.x Web Router.
    Router router = Router.router(vertx);
    router.get("/").handler(rc -> rc.response().end("OK"));
    router.get("/greetings").handler(rc -> rc.response().end("Hello world"));
    router.get("/greetings/:name").handler(rc -> rc.response().end("Hello " + rc.pathParam("name")));

    
    vertx.createHttpServer()
        .requestHandler(router::accept)
        .rxListen(8080)
        // When the server is ready, we publish the service
        .flatMap(this::publish)
        // Store the record, required to un-publish it
        .doOnSuccess(rec -> this.record = rec)
        .toCompletable()
        .subscribe(toObserver(future));
}
 
开发者ID:cescoffier,项目名称:vertx-kubernetes-workshop,代码行数:29,代码来源:Exercise1Verticle.java


示例16: setupWebServer

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
private Completable setupWebServer() {
  Router router = Router.router(vertx);

  SockJSHandler sockJSHandler = SockJSHandler.create(vertx);
  sockJSHandler.bridge(new BridgeOptions()
    .addOutboundPermitted(new PermittedOptions().setAddressRegex("album\\.\\d+\\.comments\\.new")));
  router.route("/eventbus/*").handler(sockJSHandler);

  router.route().handler(BodyHandler.create());

  router.route().handler(CookieHandler.create());
  router.route().handler(SessionHandler.create(LocalSessionStore.create(vertx)));
  router.route().handler(UserSessionHandler.create(authProvider));

  IndexHandler indexHandler = new IndexHandler(dbClient, dbQueries, templateEngine);
  router.get("/").handler(indexHandler);
  router.get("/index.html").handler(indexHandler);

  router.get("/genres/:genreId").handler(new GenreHandler(dbClient, dbQueries, templateEngine));
  router.get("/albums/:albumId").handler(new AlbumHandler(dbClient, dbQueries, templateEngine));
  router.get("/artists/:artistId").handler(new ArtistHandler(dbClient, dbQueries, templateEngine));
  router.get("/covers/:albumId").handler(new CoverHandler(dbClient, dbQueries, WebClient.create(vertx)));

  router.get("/ajax/albums/:albumId/comments")
    .handler(new AjaxAlbumCommentsHandler(albumCommentsBucket.get(), couchbaseQueries, templateEngine));

  router.post("/api/albums/:albumId/comments")
    .consumes("text/plain")
    .handler(new AddAlbumCommentHandler(albumCommentsBucket.get()));

  router.get("/login").handler(new ReturnUrlHandler());
  router.get("/login").handler(rc -> templateEngine.rxRender(rc, "templates/login")
    .subscribe(rc.response()::end, rc::fail));
  router.post("/login").handler(FormLoginHandler.create(authProvider));

  router.get("/add_user").handler(rc -> templateEngine.rxRender(rc, "templates/add_user")
    .subscribe(rc.response()::end, rc::fail));
  router.post("/add_user").handler(new AddUserHandler(dbClient, dbQueries, authProvider));

  router.route().handler(StaticHandler.create());

  return vertx.createHttpServer()
    .requestHandler(router::accept)
    .rxListen(8080)
    .toCompletable();
}
 
开发者ID:tsegismont,项目名称:vertx-musicstore,代码行数:47,代码来源:MusicStoreVerticle.java


示例17: start

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Override
public void start(Future<Void> startFuture) throws Exception {
  HttpServer httpServer = vertx.createHttpServer();

  BookDatabaseService bookDatabaseService = createProxy(vertx.getDelegate(), config().getString(CONFIG_DB_EB_QUEUE));

  Router router = Router.router(vertx);

  router.route().handler(BodyHandler.create());

  router.route().handler(HTTPRequestValidationHandler.create().addExpectedContentType("application/json"));

  router.get(GET_BOOKS).handler(HTTPRequestValidationHandler.create()
    .addQueryParam("title", ParameterType.GENERIC_STRING, false)
    .addQueryParam("category", ParameterType.GENERIC_STRING, false)
    .addQueryParam("publicationDate", ParameterType.DATE, false))
    .handler(new GetBooksHandler(bookDatabaseService));

  router.post(ADD_NEW_BOOK).handler(new AddBookHandler(bookDatabaseService));

  router.delete(DELETE_BOOK_BY_ID).handler(HTTPRequestValidationHandler.create()
    .addPathParam("id", ParameterType.INT))
    .handler(new DeleteBookByIdHandler(bookDatabaseService));

  router.get(GET_BOOK_BY_ID).handler(HTTPRequestValidationHandler.create()
    .addPathParam("id", ParameterType.INT))
    .handler(new GetBookByIdHandler(bookDatabaseService));

  router.put(UPDATE_BOOK_BY_ID).handler(HTTPRequestValidationHandler.create()
    .addPathParam("id", ParameterType.INT))
    .handler(new UpsertBookByIdHandler(bookDatabaseService));

  router.route().failureHandler(new FailureHandler());

  int httpServerPort = config().getInteger(CONFIG_HTTP_SERVER_PORT, 8080);
  httpServer.requestHandler(router::accept)
    .rxListen(httpServerPort)
    .subscribe(server -> {
        LOGGER.info("HTTP server is running on port " + httpServerPort);
        startFuture.complete();
      },
      throwable -> {
        LOGGER.error("Fail to start a HTTP server ", throwable);
        startFuture.fail(throwable);
      });
}
 
开发者ID:BillyYccc,项目名称:vertx-postgresql-starter,代码行数:47,代码来源:HttpServerVerticle.java


示例18: setUp

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Before
public void setUp(TestContext testContext) {
  vertx = new Vertx(rule.vertx());
  Router router = Router.router(vertx);

  BookDatabaseService bookDatabaseService = Mockito.mock(BookDatabaseService.class);

  Book book = new Book(0, "Java Concurrency in Practice", "java", "2006-05-19");

  Mockito.when(bookDatabaseService.rxUpsertBookById(3, book)).thenReturn(Completable.complete());

  router.route().handler(BodyHandler.create());
  router.put("/books/:id").handler(new UpsertBookByIdHandler(bookDatabaseService));

  vertx.createHttpServer().requestHandler(router::accept).listen(1234, testContext.asyncAssertSuccess());

}
 
开发者ID:BillyYccc,项目名称:vertx-postgresql-starter,代码行数:18,代码来源:UpsertBookByIdHandlerTest.java


示例19: setUp

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Before
public void setUp(TestContext testContext) {
  vertx = new Vertx(rule.vertx());
  Router router = Router.router(vertx);

  BookDatabaseService bookDatabaseService = Mockito.mock(BookDatabaseService.class);

  int bookId = 1;

  Mockito.when(bookDatabaseService.rxDeleteBookById(bookId)).thenReturn(Completable.complete());

  router.route().handler(BodyHandler.create());
  router.delete("/books/:id").handler(new DeleteBookByIdHandler(bookDatabaseService));

  vertx.createHttpServer().requestHandler(router::accept).listen(1234, testContext.asyncAssertSuccess());

}
 
开发者ID:BillyYccc,项目名称:vertx-postgresql-starter,代码行数:18,代码来源:DeleteBookByIdHandlerTest.java


示例20: setUp

import io.vertx.reactivex.ext.web.Router; //导入依赖的package包/类
@Before
public void setUp(TestContext testContext) {
  vertx = new Vertx(rule.vertx());
  Router router = Router.router(vertx);

  BookDatabaseService bookDatabaseService = Mockito.mock(BookDatabaseService.class);

  Book book = new Book(3, "Design Patterns", "design", "1995-01-15");

  Mockito.when(bookDatabaseService.rxAddNewBook(book)).thenReturn(Completable.complete());

  router.route().handler(BodyHandler.create());
  router.post("/books").handler(new AddBookHandler(bookDatabaseService));

  vertx.createHttpServer().requestHandler(router::accept).listen(1234, testContext.asyncAssertSuccess());

}
 
开发者ID:BillyYccc,项目名称:vertx-postgresql-starter,代码行数:18,代码来源:AddBookHandlerTest.java



注:本文中的io.vertx.reactivex.ext.web.Router类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java JvmLowerBound类代码示例发布时间:2022-05-22
下一篇:
Java MountPoint类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap