本文整理汇总了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;未经允许,请勿转载。 |
请发表评论