A JBoss anunciou o HornetQ, um sistema mensageiro de código aberto, multi-protocolo, embargável, de alta performance, com suporte a cluster e assíncrono. Anteriormente, o código-base do HornetQ era mantido pelo nome JBoss Messaging 2.0.
O anúncio tem mais informações sobre o espírito do HornetQ:
O HornetQ foi desenvolvido com grande foco em usabilidade: Nós disponibilizamos um manual de fácil entendimento, um guia de início rápido e incluímos 65 exemplos de uso, demonstrando tudo, desde o simples uso de JMS até os complexos servidores em clusters dentre outras funcionalidades.
O HornetQ foi desenvolvido com grande foco em flexibilidade: Seu elegante design baseado em POJO possui o mínimo de dependência com terceiros: Você poderá rodar o HornetQ como um broker stand-alone mensageiro, rodá-lo integrado ao seu servidor de aplicações JEE, ou rodá-lo embarcado em sua aplicação. A escolha é sua.
O HornetQ foi desenvolvido com grande foco em performance: Nosso sistema de log de alta-performance permite uma performance nunca vista em persistência de mensagens. Alternando automaticamente para o modo nativo - quando rodando em Linux - o sistema utiliza E/S assíncrona para permitir que a taxa de persistência de mensagens possa ser maior que o throughput de escrita no disco. Nosso sistema de transporte utiliza o JBoss Netty de forma desacoplada com uma excelente performance e escalabilidade.
Embora o HornetQ possa ser integrado ao servidor de aplicações JBoss, ele também pode rodar como um servidor de mensagens independente:
O HornetQ não possui qualquer dependência com os componentes do servidor de aplicação JBoss, de fato o core do HornetQ não possui dependência com qualquer biblioteca exceto com a JDK!
Embora o HornetQ possa ser facilmente integrado ao servidor JBoss como um provedor JMS, ele pode ser executando de forma totalmente independente como um servidor de mensagens, sem utilizar o servidor JBoss, ou então pode ser instanciado no seu framework de injeção preferido, ex. Spring ou Google Guice.
O projeto wiki possui uma longa lista sobre os recursos disponíveis na versão atual.
A JBoss explicou no FAQ sobre a relação entre o HornetQ e o JBoss Messaging 2.0:
Durante seu desenvolvimento, nos últimos anos, o código-base do HornetQ era desenvolvido sob o nome JBoss Messaging 2.0.
Nós decidimos por renomeá-lo e separá-lo como um projeto independente desde que começamos a diferenciá-lo do JBoss Messaging 1.x e nós não queríamos confundir os dois diferentes sistemas. Grande parte do código-base do HornetQ é diferente do código-base do JBoss Messaging 1.x.
Então, o que está acontecendo com o JBoss Messaging agora? O JBoss Messaging 1.x continua com o mesmo nome e o projeto agora ficará em manutenção, e todo o desenvolvimento para mensageiros será realizado no projeto HornetQ.
A JBoss quer tornar o HornetQ o servidor de mensagens na computação nas nuvens e trabalharemos na implementação de uma API RESTful para interoperabilidade de mensagens. O HornetQ implementará AMQP e o STOMP nativo para o desenvolvimento de um sistema de mensagens realmente multi-línguas.
O HornetQ é licenciado sob a Licença de Software da Apache versão 2.0, com a exceção de alguns arquivos que a JBoss alega não ser possível relicenciar e precisa mantê-los sob a LGPL a JBoss quer disponibilizar versões alternativas licenciadas em ASL para esses arquivos.
Mais informações sobre o HornetQ no site do projeto e no wiki. Há um pequeno guia para o ajudar a preparar o HornetQ para um test-drive em poucos minutos.