[prev in list] [next in list] [prev in thread] [next in thread]
List: muse-dev
Subject: [jira] Resolved: (MUSE-254) ServiceGroup can't reference other
From: "Chris Twiner (JIRA)" <jira () apache ! org>
Date: 2009-01-03 16:03:44
Message-ID: 136185333.1230998624275.JavaMail.jira () brutus
[Download RAW message or body]
[ https://issues.apache.org/jira/browse/MUSE-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]
Chris Twiner resolved MUSE-254.
-------------------------------
Resolution: Fixed
marking as resolved, asked Vinh to verify the fixes in head match his latest patches.
> ServiceGroup can't reference other ServiceGroups
> ------------------------------------------------
>
> Key: MUSE-254
> URL: https://issues.apache.org/jira/browse/MUSE-254
> Project: Muse
> Issue Type: Bug
> Environment: Muse 2.2.0, Eclipse 3.2.1
> Reporter: Vinh Nguyen
> Assignee: Chris Twiner
> Fix For: 2.2.1
>
> Attachments: ServiceGroup.java
>
>
> SimpleServiceGroup has a bug. It doesn't allow a ServiceGroup to add references to \
> other ServiceGroups. But I think this should be allowed. The current \
> limitation/flaw is in resourceAdded() and createEntry(). In the current logic, it \
> creates and initializes at the same time. So even before it can be added to the \
> ServiceGroup mappings, the ResourceManager invokes the resourceAdded() listener \
> method...which is why it currently can't allow adding SGs because it will go into \
> an endless loop. The fix:
> 1) Remove filter logic at top of resourceAdded() which filters ServiceGroups. Still \
> need to filter Entry resources though. 2) In createEntry(), remove the code chunk \
> at the end which: a) calls resource.initialize()
> b) adds the resource to ResourceManager
> c) sets termination time on the resource
> 3) Move the above code to a new initializeEntry(WsResource,Date) method.
> 4) In resourceAdded(), remove code block which gets termination time of the parent \
> resource. It's not needed because the new Entry resource doesn't need a termination \
> time. It'll automatically be removed in resourceRemoved(). See Muse-253.
> 5) In addEntry(), replace with this logic:
> WsResource entry = createEntry(epr, null, null);
> addEntry(epr, entry);
> try
> {
> initializeEntry(entry, null);
> }
> catch (Exception exc)
> {
> removeEntry(entry);
> throw new AddRefusedFault(exc);
> }
> Basically, the logic flow is more streamlined.
> Create the entry but DON'T initialize it yet.
> Add the Entry, then initialize it.
> If initialization fails, then remove it.
> So now, a ServiceGroup is able to reference other ServiceGroups:)
--
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: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic