Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #--
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing,
- # software distributed under the License is distributed on an
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- # KIND, either express or implied. See the License for the
- # specific language governing permissions and limitations
- # under the License.
- #++
- require 'qpid_proton'
- class HelloWorld < Qpid::Proton::Handler::MessagingHandler
- def initialize(server, address)
- super()
- @server = server
- @address = address
- end
- def on_start(event)
- puts "on_start"
- conn = event.container.connect(:address => @server)
- event.container.create_receiver(conn, @address)
- event.container.create_sender(conn, @address)
- end
- def on_sendable(event)
- puts "on_sendable!"
- event.sender.send(Qpid::Proton::Message.new("Hello world!"))
- event.sender.close
- end
- def on_message(event)
- puts "Got a message!"
- puts event.message.body
- event.connection.close
- end
- end
- hw = HelloWorld.new("localhost:5672", "examples")
- Qpid::Proton::Reactor::Container.new(hw).run { puts "Passing..." }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement