Author: davsclaus Date: Mon May 16 14:48:34 2011 New Revision: 1103757 URL: http://svn.apache.org/viewvc?rev=1103757&view=rev Log: Fixed JMX issue on camel-jms.
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java?rev=1103757&r1=1103756&r2=1103757&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultQueueBrowseStrategy.java Mon May 16 14:48:34 2011 @@ -30,18 +30,17 @@ import org.springframework.jms.core.Brow import org.springframework.jms.core.JmsOperations; /** - * A default implementation of queue browsing using the Spring 2.5.x {@link BrowserCallback} + * A default implementation of queue browsing using the Spring {@link BrowserCallback} + * * @version */ public class DefaultQueueBrowseStrategy implements QueueBrowseStrategy { public List<Exchange> browse(JmsOperations template, String queue, final JmsQueueEndpoint endpoint) { - return (List<Exchange>) template.browse(queue, new BrowserCallback() { - - public Object doInJms(Session session, QueueBrowser browser) throws JMSException { - // TODO not the best implementation in the world as we have to browse + return template.browse(queue, new BrowserCallback<List<Exchange>>() { + public List<Exchange> doInJms(Session session, QueueBrowser browser) throws JMSException { + // not the best implementation in the world as we have to browse // the entire queue, which could be massive - List<Exchange> answer = new ArrayList<Exchange>(); Enumeration iter = browser.getEnumeration(); while (iter.hasMoreElements()) { Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1103757&r1=1103756&r2=1103757&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java Mon May 16 14:48:34 2011 @@ -38,11 +38,13 @@ import org.apache.camel.PollingConsumer; import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.Service; +import org.apache.camel.ServiceStatus; import org.apache.camel.component.jms.reply.PersistentQueueReplyManager; import org.apache.camel.component.jms.reply.ReplyManager; import org.apache.camel.component.jms.reply.TemporaryQueueReplyManager; import org.apache.camel.impl.DefaultEndpoint; import org.apache.camel.impl.DefaultExchange; +import org.apache.camel.impl.ServiceSupport; import org.apache.camel.impl.SynchronousDelegateProducer; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.spi.HeaderFilterStrategyAware; @@ -947,6 +949,16 @@ public class JmsEndpoint extends Default return super.getEndpointUri(); } + @ManagedAttribute(description = "Service State") + public String getState() { + ServiceStatus status = this.getStatus(); + // if no status exists then its stopped + if (status == null) { + status = ServiceStatus.Stopped; + } + return status.name(); + } + // Implementation methods //------------------------------------------------------------------------- Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java?rev=1103757&r1=1103756&r2=1103757&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java Mon May 16 14:48:34 2011 @@ -98,7 +98,7 @@ public class JmsQueueEndpoint extends Jm } @ManagedOperation(description = "Current number of Exchanges in Queue") - public long qeueSize() { + public long queueSize() { return getExchanges().size(); } Modified: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java?rev=1103757&r1=1103756&r2=1103757&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java (original) +++ camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java Mon May 16 14:48:34 2011 @@ -55,7 +55,7 @@ public class BrowsableQueueTest extends assertEquals(6, endpoint.getMaximumBrowseSize()); List<Exchange> list = endpoint.getExchanges(); LOG.debug("Received: " + list); - assertEquals("Size of list", 2, endpoint.qeueSize()); + assertEquals("Size of list", 2, endpoint.queueSize()); // for JMX stuff for (int i = 0; i < 2; i++) {