Jaki jest najlepszy sposób przejrzenia kolejki JMS i pobrania wszystkich wiadomości?Liczba komunikatów w kolejce JMS
Jak policzyć liczbę wiadomości w kolejce?
Dzięki.
Jaki jest najlepszy sposób przejrzenia kolejki JMS i pobrania wszystkich wiadomości?Liczba komunikatów w kolejce JMS
Jak policzyć liczbę wiadomości w kolejce?
Dzięki.
ten sposób można liczyć Brak komunikatów w kolejce
public static void main(String[] args) throws Exception
{
// get the initial context
InitialContext ctx = new InitialContext();
// lookup the queue object
Queue queue = (Queue) ctx.lookup("queue/queue0");
// lookup the queue connection factory
QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.
lookup("queue/connectionFactory");
// create a queue connection
QueueConnection queueConn = connFactory.createQueueConnection();
// create a queue session
QueueSession queueSession = queueConn.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
// create a queue browser
QueueBrowser queueBrowser = queueSession.createBrowser(queue);
// start the connection
queueConn.start();
// browse the messages
Enumeration e = queueBrowser.getEnumeration();
int numMsgs = 0;
// count number of messages
while (e.hasMoreElements()) {
Message message = (Message) e.nextElement();
numMsgs++;
}
System.out.println(queue + " has " + numMsgs + " messages");
// close the queue connection
queueConn.close();
}
Tak naprawdę uruchomiłem ten przykład iz jakiegoś powodu licznik wiadomości pokazuje 400, gdy mam 5000 wiadomości w kolejce –
jak to powiedzieć? masz 5000 wiadomości w kolejce. – sunleo
Widzę to fizycznie na mojej konsoli ActiveMQ –
Korzystanie JmsTemplate
public int getMessageCount(String messageSelector)
{
return jmsTemplate.browseSelected(messageSelector, new BrowserCallback<Integer>() {
@Override
public Integer doInJms(Session s, QueueBrowser qb) throws JMSException
{
return Collections.list(qb.getEnumeration()).size();
}
});
}
Można użyć JMX w niektórych przypadkach (w zależności od implementacji JMS) – user1516873
widzę, 'ActiveMQ 'tag. Przykład dla ActiveMQ http://java.dzone.com/articles/managing-activemq-jmx-apis – user1516873