Como enviar uma mensagem do node.js para ActiveMQ utilizando STOMP

Este é um cliente escrito em Node.JS para integração com Apache ActiveMQ utilizando o protocolo STOMP. Neste exemplo o cliente node.js envia mensagens para o ActiveMQ.

Instalação

npm install stomp-client

ActiveMQ

Do lado do ActiveMQ, no arquivo etc/activemq.xml adicionar o connector:

<transportConnector name="stomp" uri="stomp://localhost:61613"/>

Exemplo do arquivo activemq.xml alterado:

<transportConnectors>
    <transportConnector uri="tcp://localhost:61616"/>
    <transportConnector uri="stomp://localhost:61613"/>
</transportConnectors>

Crie um arquivo com o nome producer.js e cole o seguinte conteúdo:

var Stomp = require('stomp-client');
 var destination = '/queue/eromqueue';
 var client = new Stomp('localhost', 61613, 'admin', 'admin');
client.connect(function(sessionId) {
 client.subscribe(destination, function(body, headers) {
 console.log('Erom >>> This is the body of a message on the subscribed queue:', body);
 });
client.publish(destination, '>>> erom <<< ');
 });

Executar

Para executar, digite no terminal:

node producer.js


Webinar Red Hat 05/fev | Acelere seu negócio com tecnologias JBoss

corporate_hero_JBwebinar

COMO AS EMPRESAS INOVADORAS ESTÃO DESENVOLVENDO SUAS APLICAÇÕES DE FORMA MAIS RÁPIDA E COM MENOR CUSTO?

A migração de uma plataforma proprietária para o JBoss Enterprise Application Platform apresenta diversas vantagens como flexibilidade, aderência à padrões de mercado, melhor performance e redução de custo.
Participe do webinar e saiba como obter inovação com segurança e resolver problemas de escalabilidade com uma arquitetura moderna, pronta para computação em núvem e com baixo footprint.

Screenshot from 2015-02-04 16:33:20

Screenshot from 2015-02-04 16:34:50


Apache Camel – Tutorial para iniciantes

apache-camel-logo

Apache Camel é uma implementação open source dos famosos Enterprise Integration Patterns. Camel é um motor de Roteamento e Mediação que facilita o vida dos desenvolvedores na criação e mediação de regras em uma variedade imensa de linguagens (DSL) como Java, Spring/XML, Scala etc.

Neste tutorial pretendo explorar com um exemplo simples o funcionameto do Apache Camel, onde uma classe envia mensagens para uma fila ActiveMQ (origemQueue) e Camel as roteia para outra fila ActiveMQ (destinoQueue).

Rota

Resumidamente uma rota é a ligação entre dois endpoints e um processador.

Como escrever uma rota

Podemos escrever uma rota de duas formas:

  • Código Java (DSL Java) através de API fornecida por Camel
  • XML

Enviando mensagens para uma fila ActiveMQ


 import javax.jms.Connection;
 import javax.jms.MessageProducer;
 import javax.jms.Queue;
 import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;
public class ProducerTeste {
public static void main(String[] args) throws Exception {
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("failover:(tcp://localhost:61616)?timeout=1000");
Connection connection = factory.createConnection("admin", "admin");
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 connection.start();
 Queue queue = session.createQueue("origemQueue");
 MessageProducer producer = session.createProducer(queue);
for (int i = 0; i < 100000; i++) {
producer.send(session.createTextMessage(i + " message"));
 System.out.println("Sent message " + i);
 // Thread.sleep(1000);
 }
 producer.close(); session.close(); connection.close();
 }
 }

Roteamento das mensagens com Camel

 import javax.jms.ConnectionFactory;
 import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.impl.DefaultCamelContext;
public final class CamelProducer {
public static void main(String args[]) throws Exception {
 CamelContext context = new DefaultCamelContext();
ConnectionFactory factory = new ActiveMQConnectionFactory("admin", "admin", "failover:(tcp://localhost:61616)?timeout=1000");
context.addComponent("test-jms", JmsComponent.jmsComponentAutoAcknowledge(factory));
 context.addRoutes(new RouteBuilder() {
 public void configure() {
 from("test-jms:queue:origemQueue").to("test-jms:queue:destinoQueue");
 }
 });
ProducerTemplate template = context.createProducerTemplate();
 context.start();
 for (int i = 0; i < 1000000; i++) {
 template.sendBody("test-jms:queue:destinoQueue", "Test Message: " + i);
 System.out.println("Sent message " + i);
}
Thread.sleep(1000);
 context.stop();
 }
 }

Projeto

Download do projeto completo >>>aqui<<<


JUDCon 2014:Brazil – Confira as Novidades que Preparamos para este Ano!

AA168-1479_JUDCON-2014_Cervejada


Última chamada para chamada de trabalhos para o JUDCon Brasil 2014

judcon2014brazil_banner_1180px_en_cfp

A Red Hat, fornecedora líder mundial de soluções de código aberto, anuncia a abertura das chamadas de trabalho para a segunda edição da JBoss Users&Developers Conference (JUDCon Brasil 2014), que acontece no dia 26 de setembro, em São Paulo.

A JBoss Users&Developers Conference é um evento de porte internacional feito “Por Desenvolvedores, Para Desenvolvedores” e que reunirá a comunidade entusiasta da tecnologia JBoss open source do mundo com os principais líderes da Jboss.org. O encontro é a oportunidade para aprender, ensinar, trocar experiências e discutir tendências, apresentar projetos e colaborar com a comunidade.

Interessados em apresentar projetos devem preencher um formulário no site do evento (http://www.jboss.org/pt_BR/events/JUDCon/2014/brazil/cfp) até o dia 29 de agosto. As submissões devem ser feitas em inglês.

O JUDCon Brasil 2014 é também a oportunidade que os desenvolvedores locais têm de se aproximar dos criadores e principais engenheiros mundiais da Red Hat, que trabalham nos produtos de portfolio de Middleware, tirar dúvidas, trocar experiências e procurar soluções inovadoras por meio das tecnologias de JBoss.

Agenda

Chamadas de trabalho: Até 22 de agosto 27 de agosto

Divulgação dos selecionados: 1 de setembro

Evento: JUDCon Brasil 2014 

Data: 26 de setembro 

Local: Rua das Olimpiadas, 205, São Paulo- SP 

Site do evento: http://www.jboss.org/pt_BR/events/JUDCon/2014/brazil.html 

 


VirtualBox – Rede Interna entre Máquinas Virtuais

Uma alternativa bem útil quando se deseja montar uma rede virtual é a função de Host-Only Network fornecida pelo VirtualBox, que pode ser utilizada para criar uma rede que contém o host e um conjunto de máquinas virtuais, sem a necessidade de interface de rede física do host. Em vez disso, uma interface de rede virtual (semelhante a uma interface de loopback) é criada na máquina, fornecendo conectividade entre máquinas virtuais e o host.

Criando a rede virtual

Para criar uma rede interna clique no menu –> Preferences –> Network.

Clique no desenho da plaquinha de rede com sinal de mais para criar uma nova Host-Only Network:

vboxnet0

Uma nova rede com o nome de vboxnet0 foi criada.

Podemos utilizar a rede com os IPs default, porém fiz as seguintes alterações:

adapter

dhcp_server

OK. Quando alguma máquina virtual foi iniciada, um IP será atribuído à mesma.

No meu ambiente iniciei a máquina virtual CentOS e depois Fedora:

CentOS 

centos

O IP 192.168.56.101 foi atribuído à máquina virtual CentOS.

Fedora

fedora

O IP 192.168.56.102 foi atribuído à máquina virtual Fedora.

ping 192.168.56.102

ping

Pronto! Temos uma rede composta de máquinas virtuais!


The Developer’s Conference 2009

 The Developers Conference 2009, um evento organizado pela Globalcode

A 3ª edição do The Developer’s Conference 2009, maior evento Java do país, contará com a participação de Chris Schalk,Developer Advocate do Google, que trabalha atualmente no time de Google App Engine, plataforma de Computação em Nuvem do Google, e também de Alejandro Guizar, Engenheiro de Software da JBoss, que trabalha nos projetos jBPM, Web Services e Riftsaw, além dos principais nomes da comunidade Java mundial: Ed Burns, Rod Johnson e Mike Keith.

O evento acontecerá nas cidades de São Paulo (SP), nos dias 6 e 7 de novembro, em Florianópolis (SC) no dia 09 de novembro e no Rio de Janeiro (RJ) em 11 de novembro.

  • Haverá tradução simultânea em todas as etapas do evento;
  • Serão emitidos certificados de participação;
  • Inscrições antecipadas com desconto especial;
  • Inscrições corporativas e caravanas.

Não perca esta oportunidade de aprender com quem faz a tecnologia, em um evento que vai ficar na história da comunidade de tecnologia do Brasil.