Hi guys, I'm still having this issue and this is blocking the integration of Trans4j into Guice. Any feedback would be very very cool :)
Kind regards, Cédric On Tue, Feb 22, 2011 at 12:29 PM, Cédric Vidal <[email protected]>wrote: > Hi guys, > > I'm the author of Trans4j (http://code.google.com/p/trans4j/), a > JavaBean Mapping framework (designed with simplicity in mind), and I'd > like to integrate it into Guice, it would fit very nicely with Guice's > philosophy. I've already managed to do the Spring integration and I'd > like to add the Guice integration as well. > > Trans4j mappers are proxies handcrafted with cglib and I'd like to > wire them using Guice. I've managed injecting them into other Guice > components with Providers. I've managed injecting other dependencies > into Trans4j mappers using the MembersInjectors API inside a Provider > but I can't figure out how to inject mappers between them when they > have cycles, which is a very common scenario and must be supported. > > Indeed, when injecting mappers between them in a Provder using the > MembersInjectors I get a Stack overflow when mappers have dependency > cycles. > > Guice supports dependency cycles with Linked Bindings but doesn't seem > to support dependency cycles when using the Provider and > MembersInjector APIs. > > Since, I couldn't manage to do the integration using providers, I > tried using the AOP Interceptor approach but I failed because Trans4j > mappers support a particular feature, dynamic polymorphic dispatch, > which requires rerouting the method invocation to another method of > the target object's class. > > And Guice relies on AOP Alliance's Method Interceptor API which > doesn't support that use case (supports only changing the returned > value of the invocation). But it is supported by cglib, used by > Trans4j in standalone mode and by Guice under the cover. > > Any suggestion would be great :) > > Besides, if Guice doesn't currently support this scenario, I would be > glad to add the support myself if the Guice team is interested. > > Regards, > > Cédric Vidal > -- Cédric -- You received this message because you are subscribed to the Google Groups "google-guice" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-guice?hl=en.
