I'm getting more behavior I can't explain. This may or may not be related to the problem I posted
here.
Thanks to wise advise from people here, I am using EJBs as follows....
In my ejbCreate, I use my service locator to get the home reference to any other EJBs this one might call in its methods.In a particular method, when I need to use another session bean, I call fooHome.create() to get a reference to an actual EJB instance, and then [i]foo[i].remove() to remove it when I am done with it, freeing it up for others to use. This seems to work well, and I have various beans calling each other. However, in one case, I have a timer
thread. Every 10 seconds, this grabs the list of users, and calls a method in a session bean for each and every user (of which I currently have 106). I start the session beans with a pool of 4, max of 30. Speacificly, the timer thread calls one of its methods for each and every user, and that method calls the method on the EJB. What's happening is that I seem to be actually calling ejbCreate for 100 of the users, but not for the 6 others.
This is bizzare! Why does it recycle beans for some users and not others?
--Mark