package net.lr.karaf.jms.command; import java.util.List; import net.lr.karaf.jms.service.JmsService; import net.lr.karaf.jms.service.QueueInfo; import org.apache.felix.gogo.commands.Action; import org.apache.felix.gogo.commands.Command; import org.apache.felix.service.command.CommandSession; @Command(scope = "jms", name = "list-queue", description = "List queues") public class ListQueueCommand implements Action { private JmsService jmsService; public void setJmsService(JmsService jmsService) { this.jmsService = jmsService; } @Override public Object execute(CommandSession session) throws Exception { ShellTable table = new ShellTable(); table.header.add("Name"); table.header.add("Messages"); List<String> queues = this.jmsService.listQueues(); for (String name : queues) { List<String> row = table.addRow(); QueueInfo qi = jmsService.getQueueInfo(name); row.add(name); row.add("" + qi.getNumPendingMessages()); } table.print(); return null; } }