Get a Home Handle instead of the EJBObject Handle, this may not solve the problem u have told but definitely a better way to access Stateless beans.
Check how many concurrent users are initially requesting for the bean. Optimally u don't gain anything by setting the intial pool size to 5 which is a very small number for an enterprise application.
I would suggest,
- Firstly, increase the intial pool size of the beans and check if the error re-occurs.
- Secondly, don't explicitly set any pool size let container handle it (even though a performance trade off).
Regards,
-Sridhar Kancharlapalli.
-----Original Message-----
From: George Maggessy [mailto:gmaggess@(protected)]
Sent: Thursday, April 08, 2004 7:36 AM
To: J2EEPATTERNS-INTEREST@(protected)
Subject: EJB Handle
Hi Gurus,
I have a business delegate, that is also a singleton, that
caches an EJB Handle instance. I don“t why but my initial
lookups fail and after a pair of trials my application
starts to work well and it doesn't fail anymore . Could
anybody help me out with this problem? I'm working with a
clustered application and all of my EJBs have an initial
pool size of 5.
Thanks in advance,
George
public class MasterDelegateHandler {
private static MasterDelegateHandler instance = null;
private static Handle remoteHandle;
/**
* Constructor
*/
private MasterDelegateHandler() {
try {
MasterSessionHome home =
(MasterSessionHome)ServiceLocator.getHomeSession(
GeneralConstants.JNDI_MASTER_SESSION);
remoteHandle = home.create().getHandle();
} catch (Exception e) {
e.printStackTrace();
}
}
public static synchronized MasterDelegateHandler
getInstance() {
if (remoteHandle == null) {
instance = new MasterDelegateHandler();
}
return instance;
}
private MasterSession getEJB() {
MasterSession remote = null;
try {
remote =
(MasterSession)PortableRemoteObject.narrow(
remoteHandle.getEJBObject(),
MasterSession.class);
} catch (RemoteException ex) {
ex.printStackTrace();
} catch (ClassCastException ex) {
ex.printStackTrace();
}
return remote;
}
public ResponseVO getAllIra() {
ResponseVO response = new ResponseVO(null);
try {
response = getEJB().getAllIra();
} catch (Exception ex) {
...
}
return response;
}
__________________________________
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway
http://promotions.yahoo.com/design_giveaway/
====================================================================
Companion Site: http://www.corej2eepatterns.com
J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns
List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html
Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
====================================================================
Companion Site: http://www.corej2eepatterns.com
J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns
List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html
Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)