[ 
http://issues.apache.org/jira/browse/IBATIS-171?page=comments#action_12316023 ] 

kevinliu commented on IBATIS-171:
---------------------------------

Thx For Your Best Help...I will check my program..

> Possible Memory Leak
> --------------------
>
>          Key: IBATIS-171
>          URL: http://issues.apache.org/jira/browse/IBATIS-171
>      Project: iBatis for Java
>         Type: Bug
>   Components: Build/Deployment
>     Versions: 2.1.0
>  Environment: OS:Solars10.5
> Hardware:P3 128M RAM,40G HD
>     Reporter: kevinliu
>     Priority: Critical

>
>       I'm a China programer.It's very happy for writing this letter to u.
>       When i had used ibatis 2.0.9b,i met a trouble:my program take a lot of 
> memory for work to make my solaris halt by memory leak..And then i checked my 
> program and use profiler to test it,i found some ibatis class maybe has 
> memory leak at the "hashMap" class.
>       So i opened the ibatis source code,and found some code as 
> "\com\ibatis\sqlmap\engine\builder\xml\BaseParser.java" and 
> "SqlMapExecutorDelegate.java" etc which used one or one more hashmap to store 
> some data,But they didn't release these hashmap by "remove" or "clear" 
> statement.I think them take my program to death and eat too many memory.
>       Please help us who using and loving iBatis..:-) Waiting for your 
> reply.THX!
>       
>       This is the list that some trouble java file in iBatis 2.10 with this 
> problem:
> ----------------------------------------
> \com\ibatis\sqlmap\engine\builder\xml\BaseParser.java' :
> \com\ibatis\sqlmap\engine\builder\xml\BaseParser.java(22): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\builder\xml\BaseParser.java(130):     public Map 
> sqlIncludes = new HashMap();
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\cache\CacheModel.java' :
> \com\ibatis\sqlmap\engine\cache\CacheModel.java(31):   private static final 
> Map lockMap = new HashMap();
> Found 'hashmap' 1 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\cache\fifo\FifoCacheController.java' :
> \com\ibatis\sqlmap\engine\cache\fifo\FifoCacheController.java(19): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\cache\fifo\FifoCacheController.java(42):     
> this.cache = Collections.synchronizedMap(new HashMap());
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\cache\lru\LruCacheController.java' :
> \com\ibatis\sqlmap\engine\cache\lru\LruCacheController.java(19): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\cache\lru\LruCacheController.java(42):     
> this.cache = Collections.synchronizedMap(new HashMap());
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\cache\memory\MemoryCacheController.java' :
> \com\ibatis\sqlmap\engine\cache\memory\MemoryCacheController.java(24): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\cache\memory\MemoryCacheController.java(34):   
> private Map cache = Collections.synchronizedMap(new HashMap());
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\cache\memory\MemoryCacheLevel.java' :
> \com\ibatis\sqlmap\engine\cache\memory\MemoryCacheLevel.java(20): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\cache\memory\MemoryCacheLevel.java(28):   private 
> static Map cacheLevelMap = new HashMap();
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\exchange\MapDataExchange.java' :
> \com\ibatis\sqlmap\engine\exchange\MapDataExchange.java(25): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\exchange\MapDataExchange.java(61):       map = new 
> HashMap();
> \com\ibatis\sqlmap\engine\exchange\MapDataExchange.java(79):       map = new 
> HashMap();
> Found 'hashmap' 3 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java' :
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(47): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(82):   private 
> HashMap mappedStatements;
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(83):   private 
> HashMap cacheModels;
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(84):   private 
> HashMap resultMaps;
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(85):   private 
> HashMap parameterMaps;
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(98):     
> mappedStatements = new HashMap();
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(99):     
> cacheModels = new HashMap();
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(100):     
> resultMaps = new HashMap();
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(101):     
> parameterMaps = new HashMap();
> \com\ibatis\sqlmap\engine\impl\SqlMapExecutorDelegate.java(698):     Map map 
> = new HashMap();
> Found 'hashmap' 10 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\mapping\parameter\BasicParameterMap.java' :
> \com\ibatis\sqlmap\engine\mapping\parameter\BasicParameterMap.java(30): 
> import java.util.HashMap;
> \com\ibatis\sqlmap\engine\mapping\parameter\BasicParameterMap.java(44):   
> private Map parameterMappingIndex = new HashMap();
> \com\ibatis\sqlmap\engine\mapping\parameter\BasicParameterMap.java(89):     
> Map props = new HashMap();
> Found 'hashmap' 3 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\mapping\result\AutoResultMap.java' :
> \com\ibatis\sqlmap\engine\mapping\result\AutoResultMap.java(29): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\mapping\result\AutoResultMap.java(75):       Map 
> propertyMap = new HashMap();
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\mapping\result\BasicResultMap.java' :
> \com\ibatis\sqlmap\engine\mapping\result\BasicResultMap.java(253):     Map 
> props = new HashMap();
> \com\ibatis\sqlmap\engine\mapping\result\BasicResultMap.java(329):           
> uniqueKeys = new HashMap();
> \com\ibatis\sqlmap\engine\mapping\result\BasicResultMap.java(505):       
> parameterObject = new HashMap();
> Found 'hashmap' 3 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\mapping\result\Discriminator.java' :
> \com\ibatis\sqlmap\engine\mapping\result\Discriminator.java(6): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\mapping\result\Discriminator.java(37):       
> subMaps = new HashMap();
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\mapping\sql\dynamic\elements\SqlTagContext.java' :
> \com\ibatis\sqlmap\engine\mapping\sql\dynamic\elements\SqlTagContext.java(21):
>  import java.util.HashMap;
> \com\ibatis\sqlmap\engine\mapping\sql\dynamic\elements\SqlTagContext.java(32):
>    private HashMap attributes;
> \com\ibatis\sqlmap\engine\mapping\sql\dynamic\elements\SqlTagContext.java(45):
>      attributes = new HashMap();
> Found 'hashmap' 3 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\mapping\sql\dynamic\elements\SqlTagHandlerFactory.java'
>  :
> \com\ibatis\sqlmap\engine\mapping\sql\dynamic\elements\SqlTagHandlerFactory.java(18):
>  import java.util.HashMap;
> \com\ibatis\sqlmap\engine\mapping\sql\dynamic\elements\SqlTagHandlerFactory.java(23):
>    private static final Map HANDLER_MAP = new HashMap();
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\scope\BaseScope.java' :
> \com\ibatis\sqlmap\engine\scope\BaseScope.java(18): import java.util.HashMap;
> \com\ibatis\sqlmap\engine\scope\BaseScope.java(25):   private HashMap map = 
> new HashMap(0);
> Found 'hashmap' 3 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\scope\RequestScope.java' :
> \com\ibatis\sqlmap\engine\scope\RequestScope.java(25): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\scope\RequestScope.java(207):       uniqueKeys = 
> new HashMap();
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\type\JdbcTypeRegistry.java' :
> \com\ibatis\sqlmap\engine\type\JdbcTypeRegistry.java(19): import 
> java.util.HashMap;
> \com\ibatis\sqlmap\engine\type\JdbcTypeRegistry.java(32):   private static 
> final Map TYPE_MAP = new HashMap();
> Found 'hashmap' 2 time(s).
> ----------------------------------------
> \com\ibatis\sqlmap\engine\type\TypeHandlerFactory.java' :
> \com\ibatis\sqlmap\engine\type\TypeHandlerFactory.java(28):   private final 
> Map typeHandlerMap = new HashMap();
> \com\ibatis\sqlmap\engine\type\TypeHandlerFactory.java(30):   private final 
> HashMap typeAliases = new HashMap();
> \com\ibatis\sqlmap\engine\type\TypeHandlerFactory.java(104):     
> putTypeAlias("hashmap", HashMap.class.getName());
> \com\ibatis\sqlmap\engine\type\TypeHandlerFactory.java(186):       map = new 
> HashMap();
> Found 'hashmap' 6 time(s).
> Search complete, found 'hashmap' 52 time(s). (18 files.)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to