I was looking over this bug and realized that with the container
optimizations you added that no JMX compliant client (or adapter) will
function correctly unless they have been specifically coded to use our
Invocation objects.

I now understand what is going on here, I was confused at first because
of the invoke() method looking like a Proxy IH, but it is part of the
DynamicMBean API.

Is this really what we want to be doing?

Wouldn't it make more sense to provide a separate invoke-like method
which functions with these optimizations?

For example, if invoke(), did the normal thing of taking actionName and
translating that into a method call, then a invokeOptimized(Invocation)
could be used to speed things up for internal usage.

It would still go through invoke, but the first thing it would do would
check if actionName is "invokeOptimized", then branch to that method,
which would do what invoke() does now.

Else it could use the typical reflection fluff.

In order for this to work, methods will have to be provided for each of
the functionality which is currently swicthed.  The optimized switch
would call the method and the standard invoke would reflect to it.

Since we don't need to expose any public here we could even make them
private for any compile time speedups that would get us.

Clients would then invoke the action "invokeOptimized" instead of
passing in "" or garbage as they do now.

I assigned the bug to you for the time being.

--jason


_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to