[
https://issues.apache.org/jira/browse/ARIES-1708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrei Shakirin updated ARIES-1708:
-----------------------------------
Description:
In case if transaction pattern is used more than once for the same component,
the transaction-blueprint module throws following exception:
{code}
Unable to apply patterns {.*, .*}.
{code}
It caused by following: map in TxComponentMetaDataHelperImpl.TranData uses
Pattern as a key. Pattern class doesn't implement equals() method and
duplicated patterns can be saved in the map.
That causes exception on later processing steps, because code cannot find
fewest and longest pattern.
Proposal:
a) use wildcard string instead Pattern object as map key
b) in case if more than one pattern stays after selection, just use the first
one instead exception.
This case happens often by using blueprint maven plugin generating transaction
attribute in xml configuration and enabling annotations scan for the same beans.
Patch is attached
was:
In case if transaction pattern is used more than once for the same component,
the transaction-blueprint module throws following exception:
{code}
Unable to apply patterns {.*, .*}.
{code}
It caused by following: map in TxComponentMetaDataHelperImpl.TranData uses
Pattern as a key. Pattern class doesn't implement equals() method and
duplicated patterns can be saved in the map.
That causes exception on later processing steps, because code cannot find
fewest and longest pattern.
Proposal:
a) use wildcard string instead Pattern object as map key
b) in case if more than one pattern stays after selection, just use the first
one instead exception
Patch is attached
> Incorrect processing of duplicated patterns
> -------------------------------------------
>
> Key: ARIES-1708
> URL: https://issues.apache.org/jira/browse/ARIES-1708
> Project: Aries
> Issue Type: Bug
> Components: Transaction
> Affects Versions: transaction-blueprint-1.1.1
> Reporter: Andrei Shakirin
> Attachments: transaction.blueprint-1.1.1.patch
>
>
> In case if transaction pattern is used more than once for the same component,
> the transaction-blueprint module throws following exception:
> {code}
> Unable to apply patterns {.*, .*}.
> {code}
> It caused by following: map in TxComponentMetaDataHelperImpl.TranData uses
> Pattern as a key. Pattern class doesn't implement equals() method and
> duplicated patterns can be saved in the map.
> That causes exception on later processing steps, because code cannot find
> fewest and longest pattern.
> Proposal:
> a) use wildcard string instead Pattern object as map key
> b) in case if more than one pattern stays after selection, just use the first
> one instead exception.
> This case happens often by using blueprint maven plugin generating
> transaction attribute in xml configuration and enabling annotations scan for
> the same beans.
> Patch is attached
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)