|
Hi, I've got a mysterious error... I'm using Lingo and ActiveMQ for remote method invocation. When receiving a RemoteInvocation object, Lingo uses reflection to invoke method on proxy object which has been created earlier. But the invocation throws NoSuchMethodException. I logged as much as I could and found out: 1) By introspecting the proxy object, it's confirmed that it contains the required method for invocation 2) The parameters retrieved from RemoteInvocation object (invocation) by getParameterTypes() and from the proxy object by introspection are similar in terms of class type 3) Interesting results log.debug("equal==? : " + (m.getParameterTypes()[0] == invocation.getParameterTypes()[0])); // return false log.debug("equal? : " + (m.getParameterTypes()[0].equals(invocation.getParameterTypes()[0])));// return false log.debug("equal class loader ==? : " + (m.getParameterTypes()[0].getClassLoader() == invocation.getParameterTypes()[0].getClassLoader())); // return false where: - m: of type java.lang.reflect.Method : method in the proxy object - invocation: of type org.springframework.remoting.support.RemoteInvocation : invocation object received from ActiveMQ So, the issue here is: "Same class but not equal" Is there anything in marshalling and demarshalling process of ActiveMQ that could lead to this problem? Appreciate for any advice Trung |
- Same class but not equal == Nguyen Kien Trung
- Re: Same class but not equal == James Strachan
- Re: Same class but not equal == Nguyen Kien Trung
- Re: Same class but not equal == Hiram Chirino
- Re: Same class but not equal == Nguyen Kien Trung
- Re: Same class but not equal == James Strachan
- Re: Same class but not equal =... Nguyen Kien Trung
