|
Thanks Larry, makes sense. But (or course...) I've been doing some tesing on my Database Connection Manager. I run a program that creates three connections. I use methods to return the number of connections, free connetions, and clients in use by the DBCM. If I use this during the running of the program, things work great and the data returned is correct (ie it tells me I have 3 connections in use, and 0 in use after I reclaim those 3 connections). Now, I put an endless loop in this application before the three connections are reclaimed. Just so that the three connections will stay there. Now I run another application to see if I can get the instance data from the class created by the currently running application. It ends up creating another instance of the Database Connection Manager instead of using the already existing one. Am I missing something here? This DB Con Mgr class is set up as a Singleton class, meaning that (I thought) if a instance already existed, a new one was not created, and the current existing instance was returned to the application. So this 2nd application should return that I have 3 connections in use, or so I thought. This doesn't seem to be the case in this scenario. But it is what I expected since both applications are running in the same JVM. Sorry if this is off topic or doesn't make sense. I seem to have my Java learning spurts from time to time. Just let me know (Joe) if this should be moved to Java101. Brad On Thu, 10 Jan 2002 17:57:07 -0600 "Larry Loen" <lwloen@us.ibm.com> wrote: > > Forget activiation groups and such. Java is platform > independent, so it > doesn't use such things. > > If Joe invokes a JVM, his static variable will be > different from the JVM > that Mary invokes separately. > > If, on the other hand, Joe and Mary both interact with an > application > (perhaps, via the web) that ends up being performed in > different threads in > the same JVM, then they will share the static variables > of each class. > > The key is that it is the JVM that is the main boundary. > Each new JVM is a > bunch of new static variables. > > The benefit from connection pooling is, at minimum, reuse > of the expense of > creating the connection even for a JVM that consists > entirely of one Java > application and thread. It can be more savings, though. > If you want two > "jobs" to share the costs and benefits, structure your > application so that > they end up as Java threads in the same JVM. > > Just remember that they aren't jobs in that case, but > true threads with all > the potential sharing that implies. > > > Larry W. Loen - Senior Linux, Java, and iSeries > Performance Analyst > Dept HP4, Rochester MN > > > _______________________________________________ > This is the Java Programming on and around the iSeries / > AS400 (JAVA400-L) mailing list > To post a message email: JAVA400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/java400-l > or email: JAVA400-L-request@midrange.com > Before posting, please take a moment to review the > archives > at http://archive.midrange.com/java400-l. > Bradley V. Stone BVS.Tools www.bvstools.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.