Java 在使用Vertx部署我的已部署verticle后,如何获得对它的引用?
我有一个名为Java 在使用Vertx部署我的已部署verticle后,如何获得对它的引用?,java,vert.x,Java,Vert.x,我有一个名为TestService的服务,它扩展了AbstractVerticle: public class TestService extends AbstractVerticle { @Override public void start() throws Exception { //Do things } } 然后,我使用vertx部署垂直体,如下所示: Vertx vertx = Vertx.vertx(); vertx.deployVerticle(TestSe
TestService
的服务,它扩展了AbstractVerticle
:
public class TestService extends AbstractVerticle {
@Override
public void start() throws Exception {
//Do things
}
}
然后,我使用vertx部署垂直体,如下所示:
Vertx vertx = Vertx.vertx();
vertx.deployVerticle(TestService.class.getName());
vertx实例化我部署的TestService后,如何获取对它的引用?您应该使用另一种部署方法:
vertx.deployVerticle(TestService.class.getName(), deployment -> {
if (deployment.succeeded()) {
// here is your ID
String deploymentId = deployment.result();
} else {
// deployment failed...
}
});
如果您只想列出所有已部署的垂直站点,则只需请求ID列表:
vertx.deploymentIDs()
我知道这个问题由来已久,但如果有人能举例说明如何做到这一点,可能会很有用 您经常会看到这样的部署示例
这是异步微服务框架,但是很容易获得引用,因为方法“deployVerticle”(参见链接中的第29行)将采用下面的简单示例中所示的实例,并且您可以在回调中获得引用,如图所示 Kotlin中的示例可以轻松地转换为java
MyVert: io.vertx.core.AbstractVerticle() {
override fun start() {
// init
}
fun someFunction() {
}
}
fun main() {
val vertx = Vertx.vertx()
val myVert = MyVert()
vertx.deployVerticle(myVert) {
if(it.succeeded() ) {
myVert.someFunction()
}
else { println(it.cause().localizedMessage)} }
}
部署垂直对象时,是否有方法获取对其本身的引用?比如:TestService ts=vertx.byId(“…”);