[
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.