Как использовать обмен сообщениями по шине событий в vertx?

Я следовал инструкциям в sample и запустил:

vertx run eventbus_pointtopoint/receiver.rb -cluster
vertx run eventbus_pointtopoint/sender.rb -cluster

Тогда я получил только:

➜  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

Но сообщение не получено. Что я делаю не так?


person Kamil Lelonek    schedule 12.12.2014    source источник


Ответы (1)


Если вы просто хотите посмотреть, как работает обмен сообщениями по шине событий, вы можете просто переместить обе части кода в один файл и запустить его.

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, он находится в папке conf вашей установки vertx. Мне пришлось изменить две строки, сначала изменить

<multicast enabled="true">

к ложному:

<multicast enabled="false">

затем изменить

<tcp-ip enabled="false">

к истине

<tcp-ip enabled="true">

и убедитесь, что тег интерфейса имеет правильный IP-адрес. Затем должны запуститься команды, которые вы указали выше.

person Jonathan Harrington    schedule 13.01.2015
comment
Это не решение, потому что я хочу запустить два отдельных приложения. - person Kamil Lelonek; 13.01.2015
comment
Вы пробовали второе предложение, поэтому редактировали файл cluster.xml? Я добавил немного больше информации, чтобы помочь. - person Jonathan Harrington; 13.01.2015
comment
Я проверю это обязательно. - person Kamil Lelonek; 13.01.2015
comment
Большое спасибо! Жаль, что я не нашел этого в документах. Это там? - person Kamil Lelonek; 12.03.2015