Hi, I read the posting about JBoss and copyright infringement. I noticed that one of the exhibits was the Invocation class. In October of 1999 I created and contributed the first version of that class (or one like it) to JBoss (at that time EJBoss). Perhaps this will help address that specific copyright infringement issue. If its helpful let me know.
Attached is an e-mail I sent to Marc Flurry back in 1999. I'll forward another e-mail right after this one which was sent a few days later. The one sent on October 27th (attached to this e-mail) is the original submission of MethodInvocation class, the ancestor of the Invocation type. The e-mail from November 4, 1999 (see my next posting) is when I resubmitted the class with some updates - at this point both Marc and I were working on it. A bit of History: This all took place immediately after Rickard Oberg proposed the idea of using the invoke( ) style container system in JBoss (then EJBoss). It was a very cool idea and is the basis for much of what you see in JBoss, OpenEJB and Geronimo today. Anyway, there was a very minor flaw in Rickard's proposal. He was passing the index of the method across the wire so that it could easily be relocated on the server. Unfortunately, this didn't work so well because different VMs will index methods in a class differently, so for example: If methodX on ClassB is index 8 on your machine, it might be index 13 on my machine. To overcome this problem, I came up with the MethodInvocation class which passes the name of the method, arguments, and the class type across the network rather than the methods index. MethodInvocation also allowed us to pass other information like security and transaction contexts and the like. A lot of what we were concerned about back them was the efficiency if serialization - which is why so much attention is paid to that topic. That aside, however, if you examine the source code for MethodInvocation in the first and second e-mails (November 4th, 1999) which I'll send next, you'll see a striking similarity in purpose and design to modern constructs like the Invocation type used in JBoss. That's because MethodInvocation was the basis for the Invocation class. I won't pretend to understand all the legal things being discussed. To be honest it doesn't interest me very much. I think JBoss has every right to protect their LGPL code - In fact I think its the right thing for them to do. Having said that, however, I don't think every bit of code in JBoss is realistically the property of that entity alone - there have been a lot of people involved with the JBoss project over the years. Richard -- Richard Monson-Haefel Co-Founder\Developer, Apache Geronimo Author of: J2EE Web Services (AW 2003) Enterprise JavaBeans, 4ed (O'Reilly 2004) Java Message Service (O'Reilly 2000) http://www.Monson-Haefel.com ------ Forwarded Message From: Richard Monson-Haefel <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] Date: Wed, 27 Oct 1999 09:28:57 -0500 To: Marc Fleury <[EMAIL PROTECTED]> Subject: MethodInvocation Hi Marc, I was going to add the MethodInvocation code to the container but the ejboss code seems to be in a wild flux right now, so I didn't add it. I don't understand the code. Everything is commented out, stuff doesnt compile, there is package missing (org.ejboss.server), etc. I only have a limited amount of time to contribute (about 2 hours a day) so rather then waste time tring to wad through code in transition I'm sending you Rickard's test rewritten to leverage the MethodInvocation class. Please add it to the ejboss code. I recommend using a java.util.Hashtable as the context object as shown below: MethodInvocaiton mi = new MethodInvocation(method, args); Hashtable methodContext = new Hashtable( ); methodContext.put("label",someObject); methodContext.put("lebel2,someOtherObject); mi.setContext(methodContext); You could alternatively use any collection or any serializable object for the context. Obviously the MethodInvocation needs to be assigned to a different package and needs to be commented (I plan to do this when you have it in place). Thanks, Richard -- Richard Monson-Haefel EJB Expert for jGuru.com ( http://www.jguru.com ) Author of Enterprise JavaBeans Published by O'Reilly & Associates ( http://www.ejbnow.com ) ------ End of Forwarded Message
<<attachment: rickards_test_with_methodinvocation.zip>>
