I'm looking forward to the article ... do you need me to proof read it? I can spare an hour or two for a good cause!
On Wed, 30 Jun 2004 14:40:57 -0400, James Carman <[EMAIL PROTECTED]> wrote: > Oh, if you are asking for somebody to work on an interceptors guide, I guess > I could just create one as part of my TSS article and we could use that. > Any thoughts? My article is due (1st draft) on August 1st. > > > > -----Original Message----- > From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] > Sent: Wednesday, June 30, 2004 2:25 PM > To: [email protected] > Subject: Re: JDK Proxy Example... > > It would be nice to scrap the current interceptors guide (which is not > only heavy on Javassist, but completely out of date) and replace it > with a similar example that used JDK proxies and discussed more > powerful techniques. > > Any volunteers? I'm maxxed out. > > On Wed, 30 Jun 2004 14:07:04 -0400, James Carman > <[EMAIL PROTECTED]> wrote: > > I wasn't suggesting USING CGLIB (but I can see where a new > > CglibServiceInterceptorFactory could be useful for those who are familiar > > with it) or any of the classes in it, but just to borrow some ideas from > it. > > We could re-use the InvocationDecorator classes that I presented in my > > JavaWorld article > > (http://www.javaworld.com/javaworld/jw-07-2003/jw-0718-factory.html). It > > does essentially the same thing. I REALLY think if you want HiveMind to > be > > accepted by the general java developer that this interceptor process needs > > to be simplified. That's not to say that we get rid of the Javassist > stuff, > > but it shouldn't be the only mechanism supported by HiveMind > > "out-of-the-box", nor should it (IMHO) be the only approach demonstrated > in > > the documentation. I would think that a pure Java approach should be > given > > in the documentation and put the Javassist/CGLIB like approaches in an > > "Advanced Concepts" section or something. My $0.02, the pure Java > approach > > should be just as much of the core framework as the Javassist one. > > > > > > > > > > -----Original Message----- > > From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, June 30, 2004 12:10 PM > > To: [email protected] > > Subject: Re: JDK Proxy Example... > > > > It's all accoding to taste and HiveMind doesn't care. I believe the > > Javassist approach is more performant, but you have to wrap your mind > > around meta- (and meta-meta-) coding. > > > > Perhaps we should create an "examples" library (hivemind.examples) to > > contain these types of things? I'd also like to get a "contributions" > > library (hivemind.contrib) to contain useful stuff. However, there's > > the issue of getting a CLA for any contribution, and the necessity of > > avoiding dependencies on GPL/LGPL code (BSD, MPL, etc. are ok). > > > > ----- Original Message ----- > > From: Pablo Lalloni <[EMAIL PROTECTED]> > > Date: Wed, 30 Jun 2004 12:42:13 -0300 > > Subject: RE: JDK Proxy Example... > > To: [email protected] > > > > I fully agree with James here, I've been writing some intercetpor > > stuff and it has been quite annoying compared with previous work I've > > done using Nanning and/or AspectWerkz... > > > > I think Nanning's way to do things is very pleasant, maybe we can > > borrow some idioms from there. > > > > I haven't used CGLIB directly but seems to be in the same direction. > > > > El mi�, 30-06-2004 a las 11:57, James Carman escribi�: > > > > Maybe we could include a factory for creating JDK proxy-like interceptors. > > Maybe borrow an idea from CGLIB (MethodInterceptor and MethodProxy for > > example). That's how I implemented mine. I got VERY confused when trying > > to write that javassist stuff and I'm quite an adept Java > > developer/architect. I just don't think it's going to be an easy sell for > > people when they see that they have to write that javassist stuff when > > writing interceptors. If they could write it in pure Java and let the > > compiler/IDE help them along, it'd be much easier, IMHO. Right now, > there's > > nothing "baked in" that facilitates this. I'll send you my stuff once I > get > > it working. I'm still trying to get my contribution rules working the way > I > > want them, so you can set properties on your MethodInterceptor > > implementation. Here's kind of what I had in mind so far... > > > > public interface MethodInterceptor > > { > > public Object intercept( Method method, > > Object[] args, > > MethodProxy chain ) throws Throwable; > > } > > > > public class MethodProxy > > { > > private final Object target; > > > > MethodProxy( Object target ) > > { > > this.target = target; > > } > > > > public Object invoke( Method method, Object[] args ) throws Throwable > > { > > return method.invoke( target, args ); > > } > > } > > > > I want to be able to create an interceptor by doing... > > > > interceptor (service-id="MethodInterceptor") > > { > > method-interceptor (class="mypackage.MyInterceptorImplementation") > > { > > set-property (name="foo" value="bar") > > } > > } > > > > or something along those lines. How does this sound? > > > > -----Original Message----- > > From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, June 29, 2004 10:55 PM > > To: [email protected] > > Subject: Re: JDK Proxy Example... > > > > I think some of the unit tests make use of JDK proxy instead of Javassist. > > > > On Tue, 29 Jun 2004 22:21:03 -0400, James Carman > > <[EMAIL PROTECTED]> wrote: > > > > > > Is there a good example of how to use a JDK proxy (or an > > InvocationHandler) > > > as an interceptor? I couldn't find anything in the download that I > have. > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > -- > > Howard M. Lewis Ship > > Independent J2EE / Open-Source Java Consultant > > Creator, Jakarta Tapestry > > Creator, Jakarta HiveMind > > http://howardlewisship.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > -- > Howard M. Lewis Ship > Independent J2EE / Open-Source Java Consultant > Creator, Jakarta Tapestry > Creator, Jakarta HiveMind > http://howardlewisship.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Independent J2EE / Open-Source Java Consultant Creator, Jakarta Tapestry Creator, Jakarta HiveMind http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
