So I have to call the current Registry (or to manage it myself) and call the
myRegistry.getService(MyService.class);

Hum, I think it's not ioc anymore if I have to setup my containers (Axis2,
Hibernate) to call the tapestry-ioc or I have to create a sort of "middle
layer" between the layer and the tapestry-ioc, and then my classes have to
call this middleLayer... hum...

How do you do yourself? Webapp have usually more than just a MVC layer. Are
you using the tapestry-ioc only for the MVC layer?
Its seems to me strange for one class having to use @Inject Logger log; and
for another class Logger log = Logger.getLogger(
ApplicationDaoImpl.class.getName());

2 ways to get the logger in the same application for the same target log
file... Maybe tapestry-ioc should be extended to take care also to the other
layers.

Maybe I'm totally wrong ;o) so, how should it be coded to respect ioc
pattern between tapestr-ioc and other layers such as Axis2 and Hibernate3
(for T5 we know ;o) )

Thanks


2007/12/14, Michael Bernagou <[EMAIL PROTECTED]>:
>
> Ok I'm going to investigate about that Registry.
> So, what's the interrest to use tapestry-ioc instead of Spring ioc? If I
> need my ioc to provide all the services I need, I cannot use tapestry-ioc
> unless I need my other layers to call explicitely the ioc which is not
> recommended when you want independant layers working together.
>
> @Hugo, ok I'm going to reread again this part.
>
> 2007/12/14, Kristian Marinkovic <[EMAIL PROTECTED] >:
> >
> > hi michael,
> >
> > @Inject only works in Tapestry pages and components (and mixins).
> > By default Tapestry will use the field type as an id and lookup the
> > corresponding ioc service.
> >
> > I assume your Web Service Container was not started by the ioc
> > container so it runs outside its control. Therefore you have to first
> > obtain an ioc Registry first and then ask it explicitly for the service
> > you want to call. The builder methods are not meant to be called
> > except by the container :)
> >
> > g,
> > kris
> >
> >
> >
> >
> > "Michael Bernagou" < [EMAIL PROTECTED]>
> > 14.12.2007 10:51
> > Bitte antworten an
> > "Tapestry users" <users@tapestry.apache.org >
> >
> >
> > An
> > "Tapestry users" <users@tapestry.apache.org>
> > Kopie
> >
> > Thema
> > IoC global question
> >
> >
> >
> >
> >
> >
> > Hi,
> >
> > I have a sort of general question about tapestry-ioc. In fact, I would
> > like
> > it to manage all the services of my webapp. In theory it should be the
> > case,
> > shouldn't be?
> >
> > So to provides services to my MVC, no problem the syntax @Inject
> > MyService
> > _myService; work perfectly. But, to provide services the same way for my
> >
> > Dao
> > it's different. The same syntax doesn't provide any instance.
> > I used the tapestry-hibernate and declare my dao as services :
> >
> >   import org.hibernate.Session;
> >
> >   public static UserDao buildUserDao(@InjectService("Session") Session
> > session) {
> >       return new UserDaoImpl(session);
> >   }
> >
> >   public static UserService buildUserService(@InjectService("UserDao")
> > UserDao dao) {
> >     return new UserServiceImpl(dao);
> >   }
> >
> > So my implementation can work. But to use the service, all the callers
> > have
> > to know a session object!
> > Ok, if my caller is a web service, and this web service want to call the
> > UserService, @Inject UserService _userService; DOES NOT work and
> > _userService is null! So I have to call explicitely the builder of my
> > service FROM the web service... If I do that, I bypass the IoC purpose
> > because I link it directly :
> >
> > UserService us = AppModule.buildUserService ( ... and then I have a
> > problem!
> > buildUserService need a UserDao, but my web service doesn't care about
> > knowing any kind of dao!
> >
> > So, I should be able to use @Inject MyService _myService; anywhere in my
> >
> > project and the tapestry-ioc should be able to give instance to all the
> > class...
> >
> > Did I (probably) missed something?
> >
> > --
> > Michael Bernagou
> > Java Developper
> >
> >
>
>
> --
> Michael Bernagou
> Java Developper




-- 
Michael Bernagou
Java Developper

Reply via email to