Author: davsclaus Date: Mon Jan 30 14:23:50 2012 New Revision: 1237671 URL: http://svn.apache.org/viewvc?rev=1237671&view=rev Log: CAMEL-4938: Fixed seda endpoint with JMX not being able to invoke certain methods.
Added: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSedaEndpoint.java - copied unchanged from r1237666, camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSedaEndpoint.java camel/branches/camel-2.9.x/components/camel-spring/src/test/java/org/apache/camel/spring/management/SpringManagedSedaEndpointTest.java - copied unchanged from r1237666, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/management/SpringManagedSedaEndpointTest.java camel/branches/camel-2.9.x/components/camel-spring/src/test/resources/org/apache/camel/spring/management/SpringManagedSedaEndpointTest.xml - copied unchanged from r1237666, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/SpringManagedSedaEndpointTest.xml Modified: camel/branches/camel-2.9.x/ (props changed) camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/management/ManagedSedaEndpointTest.java camel/branches/camel-2.9.x/components/camel-jaxb/ (props changed) camel/branches/camel-2.9.x/components/camel-jaxb/src/test/ (props changed) Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 30 14:23:50 2012 @@ -1 +1 @@ -/camel/trunk:1235643,1236639,1236667 +/camel/trunk:1235643,1236639,1236667,1237666 Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java?rev=1237671&r1=1237670&r2=1237671&view=diff ============================================================================== --- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java (original) +++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java Mon Jan 30 14:23:50 2012 @@ -32,9 +32,6 @@ import org.apache.camel.MultipleConsumer import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.WaitForTaskToComplete; -import org.apache.camel.api.management.ManagedAttribute; -import org.apache.camel.api.management.ManagedOperation; -import org.apache.camel.api.management.ManagedResource; import org.apache.camel.impl.DefaultEndpoint; import org.apache.camel.processor.MulticastProcessor; import org.apache.camel.spi.BrowsableEndpoint; @@ -45,7 +42,6 @@ import org.apache.camel.util.ServiceHelp * href="http://camel.apache.org/queue.html">Queue components</a> for * asynchronous SEDA exchanges on a {@link BlockingQueue} within a CamelContext */ -@ManagedResource(description = "Managed SedaEndpoint") public class SedaEndpoint extends DefaultEndpoint implements BrowsableEndpoint, MultipleConsumersSupport { private volatile BlockingQueue<Exchange> queue; private int size; @@ -137,7 +133,6 @@ public class SedaEndpoint extends Defaul this.size = queue.remainingCapacity(); } - @ManagedAttribute(description = "Queue max capacity") public int getSize() { return size; } @@ -146,7 +141,6 @@ public class SedaEndpoint extends Defaul this.size = size; } - @ManagedAttribute(description = "Current queue size") public int getCurrentQueueSize() { return queue.size(); } @@ -155,7 +149,6 @@ public class SedaEndpoint extends Defaul this.blockWhenFull = blockWhenFull; } - @ManagedAttribute(description = "Whether the caller will block sending to a full queue") public boolean isBlockWhenFull() { return blockWhenFull; } @@ -164,12 +157,10 @@ public class SedaEndpoint extends Defaul this.concurrentConsumers = concurrentConsumers; } - @ManagedAttribute(description = "Number of concurrent consumers") public int getConcurrentConsumers() { return concurrentConsumers; } - @ManagedAttribute public WaitForTaskToComplete getWaitForTaskToComplete() { return waitForTaskToComplete; } @@ -178,7 +169,6 @@ public class SedaEndpoint extends Defaul this.waitForTaskToComplete = waitForTaskToComplete; } - @ManagedAttribute public long getTimeout() { return timeout; } @@ -187,7 +177,6 @@ public class SedaEndpoint extends Defaul this.timeout = timeout; } - @ManagedAttribute public boolean isMultipleConsumers() { return multipleConsumers; } @@ -207,7 +196,6 @@ public class SedaEndpoint extends Defaul return new ArrayList<Exchange>(getQueue()); } - @ManagedAttribute public boolean isMultipleConsumersSupported() { return isMultipleConsumers(); } @@ -215,7 +203,6 @@ public class SedaEndpoint extends Defaul /** * Purges the queue */ - @ManagedOperation(description = "Purges the seda queue") public void purgeQueue() { queue.clear(); } Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java?rev=1237671&r1=1237670&r2=1237671&view=diff ============================================================================== --- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java (original) +++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java Mon Jan 30 14:23:50 2012 @@ -29,6 +29,7 @@ import org.apache.camel.Producer; import org.apache.camel.Route; import org.apache.camel.Service; import org.apache.camel.component.bean.BeanProcessor; +import org.apache.camel.component.seda.SedaEndpoint; import org.apache.camel.impl.ScheduledPollConsumer; import org.apache.camel.management.mbean.ManagedBeanProcessor; import org.apache.camel.management.mbean.ManagedBrowsableEndpoint; @@ -43,6 +44,7 @@ import org.apache.camel.management.mbean import org.apache.camel.management.mbean.ManagedProducer; import org.apache.camel.management.mbean.ManagedRoute; import org.apache.camel.management.mbean.ManagedScheduledPollConsumer; +import org.apache.camel.management.mbean.ManagedSedaEndpoint; import org.apache.camel.management.mbean.ManagedSendProcessor; import org.apache.camel.management.mbean.ManagedService; import org.apache.camel.management.mbean.ManagedSuspendableRoute; @@ -90,6 +92,10 @@ public class DefaultManagementObjectStra if (endpoint instanceof org.apache.camel.spi.ManagementAware) { return ((org.apache.camel.spi.ManagementAware<Endpoint>) endpoint).getManagedObject(endpoint); + } else if (endpoint instanceof SedaEndpoint) { + ManagedSedaEndpoint me = new ManagedSedaEndpoint((SedaEndpoint) endpoint); + me.init(context.getManagementStrategy()); + return me; } else if (endpoint instanceof BrowsableEndpoint) { ManagedBrowsableEndpoint me = new ManagedBrowsableEndpoint((BrowsableEndpoint) endpoint); me.init(context.getManagementStrategy()); Modified: camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/management/ManagedSedaEndpointTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/management/ManagedSedaEndpointTest.java?rev=1237671&r1=1237670&r2=1237671&view=diff ============================================================================== --- camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/management/ManagedSedaEndpointTest.java (original) +++ camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/management/ManagedSedaEndpointTest.java Mon Jan 30 14:23:50 2012 @@ -55,6 +55,13 @@ public class ManagedSedaEndpointTest ext size = (Integer) mbeanServer.getAttribute(name, "CurrentQueueSize"); assertEquals(1, size.intValue()); + Long size2 = (Long) mbeanServer.invoke(name, "queueSize", null, null); + assertEquals(1, size2.longValue()); + + String out = (String) mbeanServer.invoke(name, "browseExchange", new Object[]{0}, new String[]{"java.lang.Integer"}); + assertNotNull(out); + assertTrue(out.contains("Hi World")); + mbeanServer.invoke(name, "purgeQueue", null, null); size = (Integer) mbeanServer.getAttribute(name, "CurrentQueueSize"); Propchange: camel/branches/camel-2.9.x/components/camel-jaxb/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 30 14:23:50 2012 @@ -1 +1 @@ -/camel/trunk/components/camel-jaxb:1235643,1236403-1236663,1236667,1237148 +/camel/trunk/components/camel-jaxb:1235643,1236403-1236663,1236667,1237148,1237666 Propchange: camel/branches/camel-2.9.x/components/camel-jaxb/src/test/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 30 14:23:50 2012 @@ -1 +1 @@ -/camel/trunk/components/camel-jaxb/src/test:1235643,1236403-1236663,1236667,1237148,1237230 +/camel/trunk/components/camel-jaxb/src/test:1235643,1236403-1236663,1236667,1237148,1237230,1237666