2016-04-28 1 views
0

Artemis 1.2.0 courtier autonome conf:Artemis 1.2.0. Paging ne fonctionnent pas avec ActiveMQ (5.12.0,5.13.2) client

<address-full-policy>PAGE</address-full-policy> 
<page-size-bytes>1048576</page-size-bytes> 

D'autres paramètres sont par défaut.

"tcp: // localhost: 61616" - est le "artemis" accepteur multiprotocole

Cas normal:

Comportement: fonctionne Paging.

Client: -jms-artemis client v1.2.0

Classe: org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616", user, pass); 
Connection connection = connectionFactory.createConnection(); 
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
Queue queue = session.createQueue("tmpQueue"); 
MessageProducer producer = session.createProducer(queue); 
connection.start(); 

byte[] bytes = new byte[Integer.parseInt(size)]; 
Random random = new Random(); 

whilt (true) { 
    BytesMessage bytesMessage = session.createBytesMessage(); 
    random.nextBytes(bytes); 
    bytesMessage.writeBytes(bytes); 
    producer.send(bytesMessage); 
} 

Erreur cas:

Comportement: La radiomessagerie ne fonctionne PAS. Lorsque les messages remplissent le paramètre max-size-bytes, le paramètre Address.Paging de JMX devient true, le fichier de page est créé, le nombre de fichiers de page devient 1, mais le producteur se bloque jusqu'à ce que le consommateur commence à travailler. Le journal indique que la pagination est en cours, donc cela devrait être bon, mais pas l'id. Aucun message supplémentaire même si je définis le niveau de trace.

Client: ActiveMQ-client v5.12.0 (également essayé le dernier 5.13.2, pas de différence)

Classe: org.apache.activemq.ActiveMQConnectionFactory

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, pass, "tcp://localhost:61616"); 
// the same code after ConnectionFactory as for artemis-jms-client ... 

Est-ce un bug ou je viens de le faire mal?

+0

J'ai construit la branche principale d'artemis git repo. activemq-client v5.13.2 fonctionne bien avec. Travaux de pagination. Donc, il semble être un bug fixe. –

Répondre

0

Artemis est en plein développement et le support OpenWire est particulièrement jeune. Ceci est probablement fixé car il y a une tonne de travail en cours sur la branche principale. Vous pouvez extraire la source du miroir Github et la construire vous-même pour la tester. Si vous trouvez des choses qui ne fonctionnent pas, vous pouvez bien entendu ouvrir les problèmes de Jira pour eux, mais il est préférable de tester un instantané de développement étant donné la nouveauté du projet.

+0

Oui, vous avez raison. Comme je l'ai déjà mentionné dans le commentaire à ma question, j'ai déjà construit à partir de maître et il n'y a pas de problème là-bas. –