01: /*
02: $Header: /cvsroot/xorm/xorm/src/org/xorm/util/ThreadLocalPersistenceManager.java,v 1.1 2002/09/19 16:08:05 wbiggs Exp $
03:
04: This file is part of XORM.
05:
06: XORM is free software; you can redistribute it and/or modify
07: it under the terms of the GNU General Public License as published by
08: the Free Software Foundation; either version 2 of the License, or
09: (at your option) any later version.
10:
11: XORM is distributed in the hope that it will be useful,
12: but WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: GNU General Public License for more details.
15:
16: You should have received a copy of the GNU General Public License
17: along with XORM; if not, write to the Free Software
18: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: */
20: package org.xorm.util;
21:
22: import javax.jdo.PersistenceManagerFactory;
23:
24: /**
25: * This class provides thread-local access to a set of
26: * PersistenceManagers. The same PersistenceManager will
27: * always be associated with the same JVM thread.
28: *
29: * This is useful in many application and web server environments
30: * where you wish to avoid passing around a PersistenceManager
31: * reference.
32: *
33: * @author Wes Biggs
34: */
35: public class ThreadLocalPersistenceManager extends ThreadLocal {
36: private PersistenceManagerFactory factory;
37:
38: public ThreadLocalPersistenceManager(
39: PersistenceManagerFactory factory) {
40: this .factory = factory;
41: }
42:
43: public Object initialValue() {
44: return factory.getPersistenceManager();
45: }
46: }
|