I am caching ejb local objects (stateless session beans)in the service locator in the class level static hashmap variable.
So I have a hashmap(cache of local objects) in one JVM Will there be any impact of this caching in clustered environment?
I believe that in each server in the cluster there would be a hashmap(cache of local objects).This means that I will have same local object cached in different JVM hashmap.
David Harkness
Ranch Hand
Joined: Aug 07, 2003
Posts: 1646
posted
0
Originally posted by Raj Joe: This means that I will have same local object cached in different JVM hashmap.
No. Since you are caching references to localEJBs -- meaning they are in the same JVM -- each JVM cache will reference a different set of local EJBs (those in its JVM).
Raj Joe
Ranch Hand
Joined: Oct 15, 2004
Posts: 41
posted
0
Originally posted by David Harkness: No. Since you are caching references to localEJBs -- meaning they are in the same JVM -- each JVM cache will reference a different set of local EJBs (those in its JVM).
I am using a singleton (service locator).I am using an hashmap as static class variable to cache all remote/local objects.
In clustered environment I will end up having one service locator per JVM. Even the static hashmap which hold references will be one per JVM.
My concern is even though a reference may be available in one JVM cache,because of clustering the request may go to other JVM and create a new reference in cache in that JVM.
Is there any impact of caching remote/local references in this way wrt to clustered environment
[ October 27, 2004: Message edited by: Raj Joe ] [ October 27, 2004: Message edited by: Raj Joe ]
nilesh Katakkar
Ranch Hand
Joined: Oct 27, 2004
Posts: 35
posted
0
As long as you are caching EJBLocalHome / RemoteHome reference you should be fine. Actual implementation of Home interface is implemented as single ton by most of the app servers. Each JVM will maintain reference to EJB<Local/Remote>Home Ojbect available on that box. Clustering should not matter.
I hope you are trying to store reference to EJBLocalObject / EJBObject. Won't make sense to do so.