首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vertx中使用事件总线消息传递?

问如何在vertx中使用事件总线消息传递?
EN

Stack Overflow用户
提问于 2014-12-12 09:10:39
回答 1查看 2.8K关注 0票数 0

我按照示例中的说明运行:

代码语言:javascript
复制
vertx run eventbus_pointtopoint/receiver.rb -cluster
vertx run eventbus_pointtopoint/sender.rb -cluster

然后我只得到:

代码语言:javascript
复制
➜  ruby  vertx run eventbus_pointtopoint/receiver.rb -cluster
Starting clustering...
No cluster-host specified so using address 192.168.56.1
Succeeded in deploying verticle

➜  ruby  vertx run eventbus_pointtopoint/sender.rb -cluster
Starting clustering...
No cluster-host specified so using address 192.168.56.1
Succeeded in deploying verticle

但没有收到任何消息。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-13 14:14:02

如果您只想了解事件总线消息传递是如何工作的,可以将这两段代码移动到一个文件中并运行它。

代码语言:javascript
复制
require "vertx"
include Vertx

EventBus.register_handler('ping-address') do |msg|
  puts "Received message: #{msg.body}"
  # Now reply to it
  msg.reply('pong!')
end

Vertx::set_periodic(1000) do
  EventBus.send('ping-address', 'ping') do |reply|
    puts "Received reply: #{reply.body}"
  end
end

运行群集的

如果要运行集群指定的示例,则可能需要更改cluster.xml配置文件,它位于vertx的conf文件夹中。我不得不换两行,第一行换

代码语言:javascript
复制
<multicast enabled="true">

假的:

代码语言:javascript
复制
<multicast enabled="false">

然后改变

代码语言:javascript
复制
<tcp-ip enabled="false">

为真

代码语言:javascript
复制
<tcp-ip enabled="true">

并确保接口标签具有正确的IP地址。然后运行上面指定的命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27440218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档