-
Notifications
You must be signed in to change notification settings - Fork 0
1.0 Usage of ServiceManager
Anders Mikkelsen edited this page Dec 23, 2017
·
4 revisions
After publish services and API's are available for consumption anywhere on the same cluster as the publisher, and locally. The ServiceManager will auto unregister all published and consumed services and APIs on shutdown of vertx.
Publishing is as easy as supplying the interface you wish to publish, and an object of a class that implements that interface. The default name is the getSimpleName() of the type, but you can supply a custom address as well.
ServiceManager.getInstance().publishService(HeartBeatService.class, heartBeatService);
ServiceManager.getInstance().publishService(HeartBeatService.class, "SOME_ADDRESS", heartBeatService);
or
ServiceManager.getInstance().publishService(HeartBeatService.class, heartBeatService, resultHandler);
ServiceManager.getInstance().publishService(HeartBeatService.class, "SOME_ADDRESS", heartBeatService, resultHandler);
Consuming is preformed easily by supplying the Interface, this will deliver a service object asynchronously.
ServiceManager.getInstance().consumeService(HeartBeatService.class, resultHandler);
ServiceManager.getInstance().consumeService(HeartBeatService.class, "SOME_ADDRESS", resultHandler);
ServiceManager.getInstance().unPublishService(HeartBeatService.class, Record service);
ServiceManager.getInstance().unPublishService("SOME_ADDRESS", Record service);
or
ServiceManager.getInstance().unPublishService(HeartBeatService.class, Record service, resultHandler);
ServiceManager.getInstance().unPublishService("SOME_ADDRESS", Record service, resultHandler);
ServiceManager.getInstance().publishApi(httpRecord);
or
ServiceManager.getInstance().publishApi(httpRecord, resultHandler);
ServiceManager.getInstance().consumeApi(nameOfRecord, resultHandler);
ServiceManager.getInstance().unPublishApi(record, resultHandler);