Mês passado comecei a tocar um projeto na CVC Turismo que, entre outras coisas, envolve troca mensagens assíncronas usando JMS. Esse trabalho foi está sendo tão divertido que me inspirou a escrever um post sobre Message-Driven Beans e Transações; e mais recentemente, a começar um novo projeto pessoal.
Sparrow é um cliente JMS implementado sobre JRuby e distribuido como uma Rubygem – hospedada no Github, é claro. Ele é uma boa opção para quem precisa integrar sistemas Ruby com servidores de aplicações Java EE, provedores de mensageria JMS.
É pá, pum! Quer ver?
require 'rubygems' require 'sparrow' # Configuração que tem que ser feita uma única vez jms_client = Sparrow::JMS::Connection::Client.new do |props| props.client_jar_file = '/oc4j_extended_101330/j2ee/home/oc4jclient.jar' props.initial_context_factory = 'oracle.j2ee.naming.ApplicationClientInitialContextFactory' props.provider_url = 'ormi://localhost:23791' props.security_principal = 'oc4jadmin' props.security_credentials = 'welcome' end jms_client.enable_connection_factories( :queue_connection_factory => 'jms/MyQueueCF' ) jms_client.enable_queues( :my_queue => 'jms/MyQueue' ) # Envio jms_client.queue_sender(:my_queue).send_text_message('sparrow rocks!') do |msg| msg.set_string_property('recipient', 'sparrow-example') end # Recebimento jms_client.queue_receiver(:my_queue).receive_message( :timeout => 5000, :selector => "recipient = 'sparrow-example'" ) do |msg| puts msg.is_text_message? # true puts msg.text # sparrow rocks! end
Fácil, não? 🙂
Se você quiser saber mais sobre o projeto, testá-lo, critica-lo, ou algo assim, por favor, não fique acanhado fique à vontade. E se não for pedir demais, deixe um comentário nesse post, como um feedback, para eu saber o quanto ainda preciso melhorá-lo e evoluí-lo.
Valeu!
Parabéns pela iniciativa de criar esse projeto para por em prática seus estudos de ruby.
Porém meu pré-conceito em relação à sintaxe do ruby permanece.. Quem sabe um dia eu consiga me superar! hehehe
[]’s
– l30 –
obs.: Ainda bem que não sou tão limitadinho.. consegui até postar um comentário no seu blog! ooooohhhhhh…
Valeu!!!
Faço votos que sim… huahuahua