ArrayIndexOutofBoundsException at BeanInfo.introspect line 143

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ArrayIndexOutofBoundsException at BeanInfo.introspect line 143

sasidharm
I am stuck with an ArrayIndexOutofBoundsException when the jms message is being delivered to my destination processor. I am using Spring 2.0.1  and camel 1.4. The stack trace is as follows:

org.apache.camel.RuntimeCamelException: java.lang.ArrayIndexOutOfBoundsException
        at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:71)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:322)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:240)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:944)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:875)
        at java.lang.Thread.run()V(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException
        at org.apache.camel.component.bean.BeanInfo.introspect(BeanInfo.java:143)
        at org.apache.camel.component.bean.BeanInfo.introspect(BeanInfo.java:124)
        at org.apache.camel.component.bean.BeanInfo.<init>(BeanInfo.java:73)
        at org.apache.camel.component.bean.RegistryBean.createBeanInfo(RegistryBean.java:115)
        at org.apache.camel.component.bean.RegistryBean.getBeanInfo(RegistryBean.java:84)
        at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:77)
        at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
        at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:68)
        ... 8 more



One thing i do not understand is why is it even trying to create bean Info. Shouldnt it be populated when my processor is loaded by spring config?
Any help would be greatly appreciated.

Thanks ahead of time.
Reply | Threaded
Open this post in threaded view
|

Re: ArrayIndexOutofBoundsException at BeanInfo.introspect line 143

sasidharm
Turns out that this is a bug in JRockit JDK 5 update 4. This sucks
The following is the change request in JRockit release notes:
CR268133
Previously java.lang.reflect.Method.getParameterAnnotations() returned the wrong result for methods that did not have annotations. This has now been fixed.

So all u camel users out there stop using freaking JRockit JDK 5 update 4.

sasidharm wrote
I am stuck with an ArrayIndexOutofBoundsException when the jms message is being delivered to my destination processor. I am using Spring 2.0.1  and camel 1.4. The stack trace is as follows:

org.apache.camel.RuntimeCamelException: java.lang.ArrayIndexOutOfBoundsException
        at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:71)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:322)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:240)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:944)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:875)
        at java.lang.Thread.run()V(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException
        at org.apache.camel.component.bean.BeanInfo.introspect(BeanInfo.java:143)
        at org.apache.camel.component.bean.BeanInfo.introspect(BeanInfo.java:124)
        at org.apache.camel.component.bean.BeanInfo.<init>(BeanInfo.java:73)
        at org.apache.camel.component.bean.RegistryBean.createBeanInfo(RegistryBean.java:115)
        at org.apache.camel.component.bean.RegistryBean.getBeanInfo(RegistryBean.java:84)
        at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:77)
        at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
        at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:68)
        ... 8 more



One thing i do not understand is why is it even trying to create bean Info. Shouldnt it be populated when my processor is loaded by spring config?
Any help would be greatly appreciated.

Thanks ahead of time.