You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2011/08/07 12:32:27 UTC
[jira] [Resolved] (CAMEL-4311) Camel Bindy Parser One to Many KvP
Unmarshall Issue
[ https://issues.apache.org/jira/browse/CAMEL-4311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-4311.
--------------------------------
Resolution: Fixed
Thanks for the patch. Keep 'em coming :)
> Camel Bindy Parser One to Many KvP Unmarshall Issue
> ---------------------------------------------------
>
> Key: CAMEL-4311
> URL: https://issues.apache.org/jira/browse/CAMEL-4311
> Project: Camel
> Issue Type: Bug
> Components: camel-bindy
> Affects Versions: 2.7.0, 2.7.2, 2.7.3, 2.8.0
> Environment: Windows, Linux
> Reporter: surya
> Priority: Minor
> Fix For: 2.9.0
>
> Attachments: BindyComplexOneToManyKeyValuePairUnMarshallTest_patch_4311.txt, BindyKeyValuePairDataFormat_patch_4311.txt, BindyKeyValuePairFactory_patch_4311.txt
>
>
> Bindy KvP unmarshall issue.
> While unmarshalling FIX messages, camel-bindy causing inconsistencies if the incoming fix messages are defined to map using 'OneToMany' annotations.
> In a given route for eg:
> BindyKeyValuePairDataFormat kvpBindyDataFormat = new BindyKeyValuePairDataFormat("org.apache.camel.dataformat.bindy.model.fix.complex.onetomany");
> public void configure() {
> from(URI_DIRECT_START).unmarshal(kvpBindyDataFormat).to(URI_MOCK_RESULT);
> }
> kvpBindyDataFormat is single instance for multiple threads and with in 'BindyKeyValuePairFactory' class instance varialbe below is shared across multiple threads causing data inconsistencies.
> private Map<String, List<Object>> lists = new HashMap<String, List<Object>>();
> Values from previous thread/messages are retained in the current thread causing issues.
> For eg in the test case: public class BindyComplexOneToManyKeyValuePairUnMarshallTest extends CommonBindyTest
> if we send another message with no repeating groups are sent.
> String message2 = "8=FIX 4.19=2034=135=049=INVMGR56=BRKR" + "1=BE.CHM.00111=CHM0001-0158=this is a camel - bindy test"
> + "10=220";
> The output message has repeating group data from message processed in earlier thread are pouplated causing data inconsistencies.
> Please suggest the fix considering multi-threading scenario. I am willing to volunteer for the fix.
> Regards,
> Surya
>
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira