This week's book giveaway is in the Kotlin forum.
We're giving away four copies of Kotlin in Action and have Dmitry Jemerov & Svetlana Isakova on-line!
See this thread for details.
Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

local interface in the same JVM  RSS feed

 
Augg Stine
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi
My session Bean A calling the entity Bean B, will have a local call only if they r in the same jar & same JVM.
My quetion is, Though they r in the same JVM, if they are not in the same jar, the call can't be a local call & we get linkException. It happenes with Weblogic. I would like to know why this is happening like this??
And also want to know whether this is vendor specific

thank you

rgds/ Augg
 
Augg Stine
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
can some one help me out in this??
rgds/ Augg
 
Maulin Vasavada
Ranch Hand
Posts: 1873
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Augg
This link also goes along the line of your problem it seems. Well, I have not yet faced similar problem (as I've not yet deployed realtime things ) but I have read it in some places that if we have different EJB Modules (hence Jar) files we can't call local interfaces across them..I am using Sun ONE..I have to yet confirm it..
May be some weblogic genius can help here more..
Regards
Maulin
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
All EJB servers have this problem. It's a classloader issue -- basically to make local calls work all of the files would have to be loaded by the same classloader. In WebSphere we solve this by putting the client stub files on a higher-level classloader above the EAR classloader.
The same fix would work in weblogic -- I'm just not a weblogic expert, so I can't tell you what the steps are.
Kyle
 
Augg Stine
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Kyle,
Thank you for your reply.
I do't understand the following lines.
"putting the client stub files on a higher-level classloader above the EAR classloader"
Can you plz throw some light on this?
Thank you
regards,
Augg
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In all application servers, classloaders come in a set of parent-child relationships -- that is, they form a hierarchy. To quote from the WebSphere infocenter on this subject:
"Each class loader is a child of the class loader above it. That is, the application module class loaders are children of the WebSphere-specific extensions class loader, which is a child of the CLASSPATH Java class loader. Whenever a class needs to be loaded, the class loader usually delegates the request to its parent class loader. If none of the parent class loaders can find the class, the original class loader attempts to load the class. "
You need to read everything you can find in the Weblogic documentation on the order in which classloaders are used and then try putting your local EJB classes in a classloader higher (a parent of) than the one that normally loads the EAR.
Kyle
 
Augg Stine
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Kale,
Thank you very much for ur detailed explanation on this.
It is really great to have a genius like you around.
Thank you once again.
regards,
Augg
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!