[ 
https://issues.apache.org/jira/browse/MUSE-235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bogdan Solomon closed MUSE-235.
-------------------------------

    Resolution: Invalid

> Capability by action being overwritten and resulting in a "The [action] 
> cannot be processed at the receiver"
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: MUSE-235
>                 URL: https://issues.apache.org/jira/browse/MUSE-235
>             Project: Muse
>          Issue Type: Bug
>          Components: Core Engine - Resource and Capability APIs
>    Affects Versions: 2.2.0
>         Environment: Muse 2.2.0 running under WebSphere 6.1 and Java5 (IBM 
> JRE) on WindowsXP. 
>            Reporter: Bogdan Solomon
>            Assignee: Dan Jemiolo
>
> This is a very strange bug I found in the 
> SimpleResource.addCapability(Capability capability) and it does seem to 
> happen under very strict conditions.
> My capability defines four actions: Start, Stop, Remove and Configure all 
> under the same namespace: 
> http://tivoli.ibm.com/muse/filter/management/Configure
> http://tivoli.ibm.com/muse/filter/management/Start
> http://tivoli.ibm.com/muse/filter/management/Stop
> http://tivoli.ibm.com/muse/filter/management/Remove
> However when trying to call Configure, which gets generated fine on the proxy 
> I get a "The [action] cannot be processed at the receiver" exception.
> So I traced the code through muse-core and I discovered that the 
> AbstractCapability obtains all four handlers and sets them correctly in the 
> _handlersByAction Map. However when the execution reaches 
> SimpleResource.addCapability(Capability capability) and tries to set the 
> information in the resource's map _capabilitiesByAction it actually 
> overwrites the Configure action.
> The first loop through the iterator adds the correct mapping for Configure in 
> the HashMap, however the second execution overwrites the Configure mapping 
> with the Remove mapping. The final two Start and Stop are added correctly to 
> empty locations in the Map.
> Since it does not throw a DuplicateAction exception (and I traced that part), 
> it knows the map does not already contain the Remove mapping, however it 
> still overwrites it.
> So I am blocked, I am not sure if this is a bug in the JRE implementation of 
> the HashMap, or if it is some form of synchronization issue (although this is 
> a simple serial execution from what I can tell).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to