Hi,
The current version of camel-core we use in our project is 1.1.0.
Our application distinguishes between business exceptions and system
exceptions. In specific cases of system exceptions - such as the destination
system not currently reachable for some reason - the system must attempt to
reconnect (based on the max number of retries). However, while this used to
work in the earlier version i.e. 1.1-20070831.001709-52,  it doesn't in
1.1.0.

Assume the destination system is down. Instead of the usual CORBA COMM
FAILURE, what I get know is an InvocationTargetException. This doesn't allow
the retries to occur. I presume its because the newer camel-core version
uses the java reflection API that wraps an underlying CORBA COMM FAILURE
exception inside an InvocationTargetException. 

At the code level, in the class where we establish a connection to the
destination system, I could catch the InvocationTargetException and using
the getTargetException() I can ensure that the underlying exception is what
gets propagated. However, doing this alone won't help as the process method
in the DeadLetterChannel class - in this case - also fails with an
InvocationTargetException.

What should I be doing to get this resolved? Would an upgrade to the latest
version do the trick? If so, what all other associated jar files should I
also be upgrading?

Regards,
Karthik

-- 
View this message in context: 
http://www.nabble.com/InvocationTargetException-causing-code-to-break-tp18111316s22882p18111316.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to