Oh by the way if someone feels heroic today here is the code from
JRMPInvoker
I believe the line that is commented out on the new ObjectName should either
be the one (with cache at the JMX level solution 2 discussed) or should do a
look up on the Registry but with the String as opposed to a int like below
(solution 1 discussed)
(BTW I believe that with the advent of UCL the first line on cl is
useless...)
org.jboss.invocation.jrmp.server.JRMPInvoker
public Object invoke(Invocation invocation) throws Exception {
ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
try
{
// Deserialize the transaction if it is there
invocation.setTransaction(importTPC(((MarshalledInvocation)
invocation).getTransactionPropagationContext()));
// Extract the ObjectName, the rest is still marshalled
// ObjectName mbean = new ObjectName((String)
invocation.getContainer());
// This is bad it should at least be using a sub set of the
Registry
// store a map of these names under a specific entry
(lookup("ObjecNames")) and look on
// that subset FIXME it will speed up lookup times
ObjectName mbean = (ObjectName) Registry.lookup((Integer)
invocation.getObjectName());
// The cl on the thread should be set in another interceptor
Object obj = server.invoke(mbean,
"",
new Object[] {invocation},
Invocation.INVOKE_SIGNATURE);
return new MarshalledObject(obj);
}
catch (Exception e)
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development