User: dsundstrom Date: 02/04/12 18:40:31 Modified: src/main/org/jboss/ejb/plugins/cmp/jdbc JDBCStoreManager.java Log: Moved static application data map to an instance variable to in EjbModule. Should reduce memory leak. Revision Changes Path 1.33 +19 -13 jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java Index: JDBCStoreManager.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- JDBCStoreManager.java 12 Apr 2002 21:39:47 -0000 1.32 +++ JDBCStoreManager.java 13 Apr 2002 01:40:31 -0000 1.33 @@ -28,6 +28,7 @@ import org.jboss.deployment.DeploymentException; import org.jboss.ejb.Container; +import org.jboss.ejb.EjbModule; import org.jboss.ejb.EntityContainer; import org.jboss.ejb.EntityPersistenceStore; import org.jboss.ejb.EntityEnterpriseContext; @@ -60,7 +61,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a> * @see org.jboss.ejb.EntityPersistenceStore - * @version $Revision: 1.32 $ + * @version $Revision: 1.33 $ */ public class JDBCStoreManager implements EntityPersistenceStore { @@ -70,9 +71,10 @@ */ private static final Object TX_DATA_KEY = "TX_DATA_KEY"; - private static final Map applicationData = - Collections.synchronizedMap(new HashMap()); +// private static final Map applicationData = +// Collections.synchronizedMap(new HashMap()); + private EjbModule ejbModule; private EntityContainer container; private Logger log; @@ -135,9 +137,12 @@ this.container = (EntityContainer) container; if( container != null ) { + ejbModule = container.getEjbModule(); String categoryName = this.getClass().getName() + "." + container.getBeanMetaData().getEjbName(); this.log = Logger.getLogger(categoryName); + } else { + ejbModule = null; } } @@ -176,22 +181,22 @@ // public Map getApplicationDataMap() { - return applicationData; + return ejbModule.getModuleDataMap(); } public Object getApplicationData(Object key) { - return applicationData.get(key); + return ejbModule.getModuleData(key); } public void putApplicationData(Object key, Object value) { - applicationData.put(key, value); + ejbModule.putModuleData(key, value); } public void removeApplicationData(Object key) { - applicationData.remove(key); + ejbModule.removeModuleData(key); } public Map getApplicationTxDataMap() @@ -290,13 +295,14 @@ private void initApplicationDataMap() { - synchronized(applicationData) + Map moduleData = ejbModule.getModuleDataMap(); + synchronized(moduleData) { - Map txDataMap = (Map)getApplicationData(TX_DATA_KEY); + Map txDataMap = (Map)moduleData.get(TX_DATA_KEY); if(txDataMap == null) { txDataMap = new HashMap(); - putApplicationData(TX_DATA_KEY, txDataMap); + moduleData.put(TX_DATA_KEY, txDataMap); } } } @@ -307,7 +313,7 @@ public void create() throws Exception { log.debug("Initializing CMP plugin for " + - container.getBeanMetaData().getEjbName()); + container.getBeanMetaData().getEjbName()); // initializes the generic data containers initApplicationDataMap(); @@ -320,8 +326,8 @@ // setup the type factory, which is used to map java types to sql types. typeFactory = new JDBCTypeFactory( - metaData.getTypeMapping(), - metaData.getJDBCApplication().getValueClasses()); + metaData.getTypeMapping(), + metaData.getJDBCApplication().getValueClasses()); // create the bridge between java land and this engine (sql land) entityBridge = new JDBCEntityBridge(metaData, this);
_______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development