UnsupportedOperationException thrown if @Consume method is not public
---------------------------------------------------------------------

                 Key: CAMEL-4994
                 URL: https://issues.apache.org/jira/browse/CAMEL-4994
             Project: Camel
          Issue Type: Improvement
          Components: camel-spring
    Affects Versions: 2.9.0
            Reporter: alex hutter
            Priority: Minor


If the org.apache.camel.Consume annotation is used on a method that is not 
public (e.g. default visibility), then the following exception will be thrown 
every time a message is delivered to that consumer and the message will 
roll-back with the consumer never invoked.

2012-02-08 16:29:37,298 [Camel Thread 0 - JmsConsumer[paula.inprogress] WARN  
org.apache.camel.component.jms.JmsMessageListenerContainer  - Execution of JMS 
message listener failed, and no ErrorHandler has been set.
org.apache.camel.RuntimeCamelException: java.lang.UnsupportedOperationException
        at 
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
        at 
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:115)
        at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)
        at 
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
        at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
        at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)
        at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.UnsupportedOperationException
        at java.util.Collections$UnmodifiableMap.put(Collections.java:1285)
        at 
org.apache.camel.component.bean.BeanInfo.introspect(BeanInfo.java:256)
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:136)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:142)
        at 
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:109)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:103)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
        at 
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:92)
        ... 11 more

I appreacate that this not specifically a bug, so I am filing this as an 
improvement.  However this is a REALLY misleading error message.  A more 
specific error message would be greaty appreaceated and save a lot of time.  
Thanks.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to