Ferramenta para postar mensagens de teste em uma fila JMS?[fechado]
Pergunta
Alguém pode recomendar uma ferramenta para postar rapidamente mensagens de teste em uma fila JMS?A ferramenta deve permitir que o usuário insira alguns dados, talvez uma carga XML, e depois envie-os para uma fila?Eu sei que provavelmente poderia inventar algo razoavelmente rápido para fazer isso, mas pensei em perguntar primeiro, antes de reinventar a roda.Saúde.
Solução
Esta resposta não se aplica a todos os corretores JMS, mas se você estiver usando Apache ActiveMQ, o console de administração baseado na Web (por padrão em http://localhost:8161/admin) permite enviar mensagens de texto manualmente para tópicos ou filas.É útil para depuração.
Outras dicas
Hermes JMS parece ser um cliente bastante poderoso para interagir com provedores JMS.Na minha opinião, é bastante pouco intuitivo e difícil de configurar.(Pelo menos estou falhando nisso...)
Outros clientes mais fáceis de usar geralmente são específicos do fornecedor. Gerenciador de mensagens sônicas é um cliente JMS de código aberto muito agradável e simples de usar para SonicMQ.Seria ótimo ter um cliente como esse trabalhando com diferentes fornecedores.
O console de administração baseado na web do ActiveMQ tem uma grande deficiência - não é possível especificar nenhum cabeçalho/propriedade personalizada ao postar uma mensagem.
Me deparei com uma ferramenta FOSS bacana que pode postar uma mensagem e também especificar cabeçalhos/propriedades:
http://sourceforge.net/projects/activemqbrowser/
HTH
Apache JMeter é uma ferramenta (escrita para a plataforma Java) que permite:
enviando mensagens para uma fila (ponto a ponto)
publicar/assinar um tópico
enviando mensagens persistentes e não persistentes
enviando mensagens de texto, mapa e objeto
O Apache ActiveMQ inclui fontes de exemplo ProducerTool e ConsumerTool (Java) com muitas opções de configuração de linha de comando.Como é baseado na API JMS, usá-lo com outros corretores de mensagens deve ser fácil, com pequenas modificações.
Eu recomendo a abordagem do @Will e usar o Console Web do ActiveMQ que permite postar mensagens e navegar em filas ou excluir mensagens facilmente.
Outra abordagem que uso frequentemente é usar um diretório de arquivos como dados de amostra e usar uma rota Camel para mover as mensagens do diretório para uma fila JMS - ou retirá-las de uma fila e salvá-las em disco, etc.
por exemplo.
from("file://someDirectory").
to("activemq:MyQueue");
Isso moveria todos os arquivos de someDirectory e os enviaria para uma fila do ActiveMQ chamada MyQueue.Se preferir deixar os arquivos no lugar, você pode usar o URI "file://someDirectory?noop=true".
Para mais detalhes veja
A IBM fornece um software gratuito e poderoso ferramenta de linha de comando chamada perfharness.
Embora tenha como objetivo o benchmarking de provedores JMS, é realmente bom para gerar (e consumir) mensagens de teste.Você pode usar dados gerados aleatoriamente ou retirados de um arquivo.
Os recursos avançados incluem enviar e consumir mensagens a uma taxa fixa, usando um número específico de threads, usando JMS ou MQ nativo, etc.Ele gera estatísticas informando exatamente o quão rápido está o desempenho de sua fila (daí o nome).
A única desvantagem é que não é muito intuitivo, dada a quantidade de operações que suporta.
Além disso, se o corretor JMS suportar JMX como o ActiveMQ, você poderá usar o JConsole para postar mensagens e fazer muito mais.
O ActiveMQ possui um console da web para enviar mensagens de teste (como mencionado acima), mas se o seu provedor não tiver isso, pode ser mais fácil apenas escrever um aplicativo de console/página da web para postar mensagens de teste.Enviar uma mensagem em JMS não é muito difícil; você pode obter o máximo benefício apenas escrevendo seu próprio cliente de teste.
Se você pode usar Primavera em Java, tem alguns utilitários realmente poderosos, confira o JmsTemplate.
Não conheço um cliente simples.Lembro-me de procurar um há muito tempo, quando pesquisei diferentes sistemas de filas e experimentei o JMS. Não consegui encontrar um e não consegui encontrar um agora.Porém, há uma coisa: há vários tutoriais para você começar e você pode criar um formulário simples para conseguir isso.
Desculpe não ser mais útil.
Eu construí uma ferramenta GUI para administrar servidores JMS de código aberto (atualmente Activemq e Hornetq).Ele pode enviar e receber mensagens e a maioria das coisas usuais, bem como agregar filas e tópicos em “grupos” lógicos.
É um produto comercial, mas o BETA é gratuito e totalmente funcional.
experimente em http://www.rockeyesoftware.com/
Para ActiveMQ, o diretório de exemplos contém scripts.Para rubistas, veja example/ruby/stompcat.rb e catstomp.rb para assinatura e publicação.
Sou um desenvolvedor brasileiro e disponibilizei um programa Java para Post HTTP e JMS Messages para download em: https://sites.google.com/site/felipeglino/softwares/posttool
Nessa página você pode encontrar instruções em inglês.