On 3/6/14, 5:07 AM, Emanuel Muckenhuber wrote:
On 03/05/2014 10:48 PM, Brian Stansberry wrote:
>
> Looking at ConcreteResourceRegistration.registerProxyController, what
> happens is it ignores the existing child registration at server=* and
> goes ahead and registers the proxy controller because it's address is
> server=foo. So thereafter "foo" essentially masks "*" when the
request
> is for "foo".
>
> If this worked more like the override model stuff instead of a complete
> mask, then operations registered for "*" would be visible.
> StoppedServerResource is what currently registers these.
>
> WDYT?
>
Yeah, something like that would make sense. At least for operations
which should be there regardless whether the server is started or
stopped. Where probably the gathering diagnostics data should only be
available when the server is started?
Ideally yes, although that would require something different than the
current override model mechanism, since the base ops would be in the *
registration, thus always available, while the "if server is running"
ops would be in the proxy registration.
I don't think having ops only be available if the server is started is
necessarily a blocker though. I'm sure we have plenty of other static
ops that make no sense in particular states. Just guessing, may not be
an issue, things like test-connection on a DS, start/stop on a
server-config come to mind.
I agree that the #registerRunningServer() should be done differently.
I
am actually surprised that this is there, i thought it's just sitting in
a branch of mine. At least the descriptions are not exposed, so it
should not be usable atm.
IIRC there is another problem that the actual "*" registration should be
something like a local proxy controller, to be able to dispatch
operations properly. I think i do have something like this sitting in
one of my branches, i'll see if i find it again.
Emanuel
--
Brian Stansberry
Senior Principal Software Engineer
JBoss by Red Hat