The code realy looks good.

Concerning the Proxy. For the cglib proxy you should definately not forward the call to finalize(), because when the proxy gets GC it will call finalize() on the target and that is not what you want. I think same reasons apply for the other Object methods except equals, hasCode and toStrign. JDK proxies do not forward them as well.

Serializing: CGLIB proxies. I think the problem if you just plainly serialize them withotu writeReplace/readResolve is that if the proxy gets desiarialized in another VM than the dynamically create class of CGLIB could not be yet there. So this could make problems in clusters etc.

Christian

On Fri, 11 Nov 2005 00:50:13 -0800, Igor Vaynberg <[EMAIL PROTECTED]> wrote:

more refactoring/tests and some new things:

SpringWebApplicationFactory - which will pull the webapplication subclass
out of spring application context

SpringInjector/SpringWebApplica tion - make it very simple to inject objects
using @SpringBean annotation with lazy-init proxies

SpringWebPage - autoinitailizes its subclasses using the SpringInjector

I also deprecated all the old stuff and moved it into
wicket.contrib.spring.old package. The new stuff is the
"official/supported/standard/whateveryouwanttocallit" way to do spring
integration.

currently we only provide an easy way to inject objects using jdk5
annotations. it is possible to create a jdk1.4 object locator factories, but there are many options as to how to store metadata/do the lookup. if someone
is interested in this please let me know and we can discuss some ways of
doing this.

As always, any feedback is greatly appreciated.

-Igor



On 11/9/05, Igor Vaynberg <[EMAIL PROTECTED]> wrote:

heh, looks like we pretty much did the same thing. my proxies arent as
advanced as yours, dont know if that a plus or a minus at this point. I
liked the lazyinitproxy interface so i just added that to my code.

im attaching the code to make it easier to find.

-Igor

On 11/9/05, Christian Essl <[EMAIL PROTECTED]> wrote:
>
> Unfortunately the public cvs is late so I can't see your changes yet.
> Anyway before I've read this mail I started on reworking the proxing
> code
> (attached). SerializableLazyProxyCreator is the only thing with content
> the others are interfaces and one (basic) test.
>
> There are quite some changes:
> - uses as now as said yesterday an ObjectResolver (I've to check with
> your
> refactoring)
> - fixed differend bugs in my original writeReplace/resolve code of the
> CGLIB proxy
> - JDK and CGLIB proxies implement LazyInitProxy. This can be useful to
> see
> if an object is already a lazy init proxy and to get the ObjectResolver
> from it (the cglib intercepors don't have to be serialziable anymore).
> - JDK and CLGIB: added handling of equals/hashCode methods (compares the
> proxy for identity - instead of forwarind to the target)
> - CGLIB: truned of the forward of the other Object methods to the target
> (especially finalize()) - exactly like for JDK proxies (toString() is
> forwarded)
> - JDK proxies: better method invocation exception handling
> - JDK and CGLIB: when the result of a method call is the target itself
> it
> returns the proxy (at least one point of leaking of the target can be
> excluded)
> - I don't serialize the class but the class name and get it from the
> context ClassLoader - is this ok?
> - and finally all is now in one class which automatically makes either a
> cglib or class proxy (don't know wheter this is good)
>
> There is also a rudimentary test case, which however only tests the
> CGLIB
> thing. There are also some println statements still in the code (it is
> hard to properly unit test the writeReplace/readResolve methods).
>
> Christian
>
> On Wed, 9 Nov 2005 00:20:32 -0800, Igor Vaynberg <
> [EMAIL PROTECTED]>
> wrote:
>
> > round 1 of refactoring is in. its much more elegant now. feedback
> please.
> >
> > -Igor
> >
> >
>
>





--
Christian Essl
        

        
                
___________________________________________________________ Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to