From: Scott M S. <st...@us...> - 2003-02-13 04:29:39
|
User: starksm Date: 03/02/12 20:29:38 Modified: src/main/org/jboss/invocation/pooled/server Tag: Branch_3_2 PooledInvoker.java Log: Fix the invoke signature. The only reason this was working was that the ejb container was a DynamicMBean that would accept any operation and translate it to invoke based on the argument type. Revision Changes Path No revision No revision 1.1.4.5 +5 -10 jboss/src/main/org/jboss/invocation/pooled/server/PooledInvoker.java Index: PooledInvoker.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/invocation/pooled/server/PooledInvoker.java,v retrieving revision 1.1.4.4 retrieving revision 1.1.4.5 diff -u -r1.1.4.4 -r1.1.4.5 --- PooledInvoker.java 5 Feb 2003 02:44:41 -0000 1.1.4.4 +++ PooledInvoker.java 13 Feb 2003 04:29:37 -0000 1.1.4.5 @@ -296,19 +296,14 @@ 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 + // Deserialize the transaction if it is there + MarshalledInvocation mi = (MarshalledInvocation) invocation; + invocation.setTransaction(importTPC(mi.getTransactionPropagationContext())); ObjectName mbean = (ObjectName) Registry.lookup(invocation.getObjectName()); // The cl on the thread should be set in another interceptor - Object obj = getServer().invoke(mbean, "", new Object[] { invocation }, Invocation.INVOKE_SIGNATURE); + Object obj = getServer().invoke(mbean, "invoke", + new Object[] { invocation }, Invocation.INVOKE_SIGNATURE); return obj; } |