[ 
https://issues.apache.org/jira/browse/ARIES-1887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758508#comment-16758508
 ] 

David Jencks commented on ARIES-1887:
-------------------------------------

Does blueprint provide a way of suspending a transaction in one thread and 
resuming it on another? If not, how can more than one thread access this map? 
Recall that a transaction is completely tied to one thread at a time.

> org.apache.aries.transaction.blueprint is not thread safe
> ---------------------------------------------------------
>
>                 Key: ARIES-1887
>                 URL: https://issues.apache.org/jira/browse/ARIES-1887
>             Project: Aries
>          Issue Type: Bug
>          Components: Transaction
>    Affects Versions: transaction-blueprint-2.2.0
>            Reporter: Nicolas Dutertry
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>             Fix For: transaction-blueprint-2.3.0
>
>
> The class ComponentTxData in org.apache.aries.transaction.blueprint uses a 
> HashMap
> {code:java}
> private Map<Method, TransactionalAnnotationAttributes> txMap = new 
> HashMap<Method, TransactionalAnnotationAttributes>();{code}
> This is very dangerous because txMap can be modified and accessed after 
> initialization.
> It should be replaced with a ConcurrentHashMap.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to