[ https://issues.apache.org/jira/browse/IBATIS-508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683961#action_12683961 ]
Brian Lomeland commented on IBATIS-508: --------------------------------------- Forgot to add that IBATIS-508 affects iBATIS 2.3.4 and this patch is for the latest SVN version of the ClassInfo.java. > Lock occurs when heavy traffic > ------------------------------ > > Key: IBATIS-508 > URL: https://issues.apache.org/jira/browse/IBATIS-508 > Project: iBatis for Java > Issue Type: Bug > Components: SQL Maps > Affects Versions: 2.3.0 > Environment: all platform > Reporter: Takayuki Ikeda > Priority: Minor > Attachments: iBATIS-508.patch > > > In heavy traffic , lock occurs at > com.ibatis.common.beans.ClassInfo#getInstance in case of cacheEnabled = true. > It seems to be happend because of "double synchronized" > ClassInfo.java > --- > private static final Map CLASS_INFO_MAP = Collections.synchronizedMap(new > HashMap()); > public static ClassInfo getInstance(Class clazz) { > if (cacheEnabled) { > synchronized (clazz) { > --- > I think we get more concurrency to access getInstance if the synchronized > clause in getInstance method is deleted. > There is no side-effect to do this. > #just created several useless ClassInfo objects :-) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.