2014-12-12 2 views
0

Я следовал инструкциям в sample и побежал:Как использовать обмен сообщениями eventbus в vertx?

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 

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

ответ

0

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

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 установки. Я должен был изменить две строки, первое изменение

<multicast enabled="true"> 

ложному:

<multicast enabled="false"> 

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

<tcp-ip enabled="false"> 

истинной

<tcp-ip enabled="true"> 

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

+0

Это не решение, потому что я хочу запустить два отдельных приложения. – squixy

+0

Вы попробовали второе предложение, отредактировав файл cluster.xml? Я добавил немного больше информации, чтобы помочь. –

+0

Я обязательно проверю это. – squixy