OS Linux JDK 1.7.0_67 Vert.x 2.1.5
刚刚开始连接github上的一些vertx示例.
由于手册想要尝试一个简单的Sender < - > Receiver示例,通过EventBus.很多个小时后,没有ping,也没有一个hello world.
任何人都有一个想法,我在这个简单的代码上缺少什么:
Sender.java
import org.vertx.java.platform.Verticle;
public class Sender extends Verticle {
public void start(){
vertx.eventBus().send("ping-address", "Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
Receiver.java
import org.vertx.java.core.Handler;
import org.vertx.java.core.eventbus.EventBus;
import org.vertx.java.core.eventbus.Message;
import org.vertx.java.platform.Verticle;
public class Receiver extends Verticle {
public void start() {
EventBus eb = vertx.eventBus();
eb.registerHandler("ping-address", new Handler<Message<String>>(){
@Override
public void handle(Message<String> message) {
container.logger().info("Message: "+message.body());
}
});
container.logger().info("PingVerticle started");
}
}
Run Code Online (Sandbox Code Playgroud)
使用以下CLI命令在同一台计算机上的单独JVM实例中运行:
vertx run Receiver.java
> Succeeded in deploying verticle
Run Code Online (Sandbox Code Playgroud)
另一个控制台
vertx run Sender.java
> Succeeded in deploying verticle
Run Code Online (Sandbox Code Playgroud)
你运行顶点的方式,他们将无法看到对方.它们基本上是作为完全独立的进程启动的,禁用了集群(默认).您必须以群集模式运行顶点才能使它们相互定位和通信.使用该-cluster选项启用Hazelcast群集.您可能还想指定-host或-port.
如果在此之后继续发现甚至总线通信出现问题,请启用Hazelcast日志记录并确保两个节点相互看到.cluster.xml如果您的网络不支持多播,则可能必须更改(Hazelcast配置).
| 归档时间: |
|
| 查看次数: |
4085 次 |
| 最近记录: |