Ok, the problem is the lib version. So, synchronized all the libraries versions :D
2007/12/18, Michael Bernagou <[EMAIL PROTECTED]>: > > Something wired when tapestry try to get the HibernateSession : > > Error invoking service builder method > org.apache.tapestry.hibernate.HibernateModule.build(HibernateSessionSource, > ThreadCleanupHub) (at HibernateModule.java:62) (for service > 'HibernateSessionManager'): Exception constructing service > 'HibernateSessionSource': Error invoking constructor > org.apache.tapestry.internal.hibernate.HibernateSessionSourceImpl(Log, > Collection, ClassNameLocator) (at HibernateSessionSourceImpl.java:35) (for > service 'HibernateSessionSource'): No service implements the interface > org.apache.commons.logging.Log. > > java.lang.RuntimeException No service implements the interface > org.apache.commons.logging.Log. > Stack trace > > - org.apache.tapestry.ioc.internal.RegistryImpl.getService( > RegistryImpl.java:553) > - > org.apache.tapestry.ioc.internal.services.MasterObjectProviderImpl.provide > (MasterObjectProviderImpl.java :46) > - org.apache.tapestry.ioc.internal.RegistryImpl.getObject( > RegistryImpl.java:665) > - org.apache.tapestry.ioc.internal.RegistryImpl.getObject( > RegistryImpl.java:722) > - org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject ( > ObjectLocatorImpl.java:50) > - > org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue > (InternalUtils.java:217) > - > org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters > (InternalUtils.java :248) > - > > org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForConstructor > (InternalUtils.java:235) > - > org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject > (ConstructorServiceCreator.java :46) > - > org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService > (SingletonServiceLifecycle.java:31) > - > > org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject > (LifecycleWrappedServiceCreator.java :54) > - > org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject > (InterceptorStackBuilder.java:54) > - > > org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject > (RecursiveServiceCreationCheckWrapper.java :61) > - > > org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject > (JustInTimeObjectCreator.java:67) > - org.apache.tapestry.internal.hibernate.HibernateSessionManagerImpl > .<init>(HibernateSessionManagerImpl.java :31) > - org.apache.tapestry.hibernate.HibernateModule.build( > HibernateModule.java:62) > - sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > - sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java :39) > - sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:25) > - java.lang.reflect.Method.invoke(Method.java:585) > - > org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject( > ServiceBuilderMethodInvoker.java:76) > - > > org.apache.tapestry.ioc.internal.services.PerThreadServiceCreator.initialValue > (PerThreadServiceCreator.java:50) > - java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(ThreadLocal.java:374) > - java.lang.ThreadLocal$ThreadLocalMap.get(ThreadLocal.java:347) > - java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java > :225) > - java.lang.ThreadLocal.get(ThreadLocal.java:127) > - > > org.apache.tapestry.ioc.internal.services.PerThreadServiceCreator.createObject( > PerThreadServiceCreator.java:56) > - papo.dao.impl.UserDaoImpl.getUser(UserDaoImpl.java:35) > > The origin of the problem is when trying to getSession() : > > public class UserDaoImpl implements UserDao { > private static Log log = LogFactory.getLog(UserDaoImpl.class); > > private Session session; > public Session getSession() { return session; } > public void setSession(Session session) { this.session = session; } > > public UserDaoImpl(Session session) { > setSession(session); > } > > /** > * Récupére un User pour un login et password donné > * > * @param login > * @param password > * @return Operateur > */ > public User getUser(String login, String password) { > log.debug("Recherche du User login : " + login); > try { > Query q = getSession().createQuery("from User u where u.login= > :login and > u.password = :pwd"); > ... > } > > Tapestry-ioc is responsible to get the constructor call : > > public static void bind(ServiceBinder binder) { > ... > binder.bind(UserDao.class, UserDaoImpl.class); > ... > } > > > No idea, still investigating. I tried to clear tomcat cache, check the > libraries... maybe something missing somewhere. > > T5.0.6 for core/annotation and ioc and T5.0.5 for tapestry-hibernate, > maybe it is that the problem. > -- > Michael Bernagou > Java Developper -- Michael Bernagou Java Developper