I have some issues with EJB remote procedure returning. The target application server is a JBoss App Server. In-explicably, the remote call is unable to locate the class being returned and subsequently throws a ClassNotFoundException. After tracing, it seems that the JBoss remoting mechanism is unable to locate the classes despite the dependencies between each plug-in.
Attempts to resolve this using Buddy Policy (either registered or global) did not work.
In my Eclipse RCP application, I currently have 4 plug-ins
n plug-in A (where the EJB interfaces are stored)
n plug-in B (where the classes being returned by interfaces in A are stored)
n plug-in C (my RCP main app is stored)
n plug-in D (the plugin containing the code that will call the interfaces in A.)
I have set up the plug-in dependencies so that it works this way:
n plug-in A depends on plug-in B
n plug-in B has no dependency
n plug-in C depends on plug-in D
n plug-in D depends on A
So the dependency chart looks something like C Ã‚Â¨Ã‚Â¤ D Ã‚Â¨Ã‚Â¤ A Ã‚Â¨Ã‚Â¤ B. I have also added to the MANIFEST.MF the packages needed to be exported as well.
I am baffled to why the recommended solutions (dependencies and Buddy-Policy) did not work. I am able to get it to work by changing the ContextClassLoader, but frankly, using that will involve a lot of boiler plate code that makes my eyes bleed. I am posting my problem here to see if I can get this resolved without resorting to the ContextClassLoader hack.
Any advice or solutions will be most appreciated.