Search in sources :

Example 1 with Axis

use of io.vertx.up.rs.Axis in project vertx-zero by silentbalanceyh.

the class ZeroRxAgent method start.

@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);
            });
        }
    });
}
Also used : ZeroAtomic(io.vertx.up.micro.ZeroAtomic) HttpServer(io.vertx.reactivex.core.http.HttpServer) Fn(io.vertx.up.func.Fn) Router(io.vertx.reactivex.ext.web.Router) ServerType(io.vertx.up.eon.em.ServerType) RouterAxis(io.vertx.rx.rs.router.RouterAxis) Route(io.vertx.reactivex.ext.web.Route) Single(io.reactivex.Single) Instance(io.vertx.up.tool.mirror.Instance) MessageFormat(java.text.MessageFormat) List(java.util.List) Axis(io.vertx.up.rs.Axis) Values(io.vertx.zero.eon.Values) TreeMap(java.util.TreeMap) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Map(java.util.Map) Annal(io.vertx.up.log.Annal) HttpServerOptions(io.vertx.core.http.HttpServerOptions) AbstractVerticle(io.vertx.reactivex.core.AbstractVerticle) EventAxis(io.vertx.rx.rs.router.EventAxis) Agent(io.vertx.up.annotations.Agent) EventAxis(io.vertx.rx.rs.router.EventAxis) RouterAxis(io.vertx.rx.rs.router.RouterAxis) HttpServer(io.vertx.reactivex.core.http.HttpServer) Router(io.vertx.reactivex.ext.web.Router)

Example 2 with Axis

use of io.vertx.up.rs.Axis in project vertx-zero by silentbalanceyh.

the class WebBase method start.

@SuppressWarnings("unchecked")
protected void start() {
    /**
     * 1.Get the default HttpServer Options *
     */
    SERVERS.forEach((port, option) -> {
        /**
         * 4.Call router hub to mount commont *
         */
        Axis huber = Instance.singleton(RouterAxis.class);
        huber.mount(this.router);
        /**
         * 5.Call route hub to mount defined *
         */
        huber = Instance.singleton(EventAxis.class);
        huber.mount(this.router);
    });
}
Also used : EventAxis(io.vertx.up.rs.router.EventAxis) RouterAxis(io.vertx.up.rs.router.RouterAxis) Axis(io.vertx.up.rs.Axis) EventAxis(io.vertx.up.rs.router.EventAxis)

Aggregations

Axis (io.vertx.up.rs.Axis)2 Single (io.reactivex.Single)1 HttpServerOptions (io.vertx.core.http.HttpServerOptions)1 AbstractVerticle (io.vertx.reactivex.core.AbstractVerticle)1 HttpServer (io.vertx.reactivex.core.http.HttpServer)1 Route (io.vertx.reactivex.ext.web.Route)1 Router (io.vertx.reactivex.ext.web.Router)1 EventAxis (io.vertx.rx.rs.router.EventAxis)1 RouterAxis (io.vertx.rx.rs.router.RouterAxis)1 Agent (io.vertx.up.annotations.Agent)1 ServerType (io.vertx.up.eon.em.ServerType)1 Fn (io.vertx.up.func.Fn)1 Annal (io.vertx.up.log.Annal)1 ZeroAtomic (io.vertx.up.micro.ZeroAtomic)1 EventAxis (io.vertx.up.rs.router.EventAxis)1 RouterAxis (io.vertx.up.rs.router.RouterAxis)1 Instance (io.vertx.up.tool.mirror.Instance)1 Values (io.vertx.zero.eon.Values)1 MessageFormat (java.text.MessageFormat)1 List (java.util.List)1