Hello Kris,

I don't checkout (or build) the T5 project in eclipse - instead I use svn and maven directly (mvn install for the artifacts). I verified that these entries exist in the jar artifact, so it should work fine. I also mentioned that all works fine if I launch my app using mvn jetty:run - it is /only execution through eclipse/ that causes the problem...and I just realized the problem.

I don't know which piece of software is at fault, but I think its the maven plugin (I've run into something like this before). I updated my app's pom.xml to use 5.0.6-SNAPSHOT, which I place in my local repo by building the project from svn (mvn compile install). The problem is that I also have the T5 project in eclipse, and the maven plugin assumes that the 5.0.6-SNAPSHOT I refer to in my app's pom.xml is the open project. This results in the wrong build of the framework being used at runtime. To prove this I removed the T5 project and refreshed+cleaned my app project. Now, it works.

So this comes back to an apparent bug in the eclipse/maven 2 plugin. If there is a fix for this, someone let me know, otherwise users of this beware!

chris

Kristian Marinkovic wrote:
hi chris,
if you have checked out and built T5 in eclipse and you
have a T5 application that references the T5 project you
will have to extend tapestry-hibernate with a manifest.mf
file containing the HibernateModule class. Normally the
manifest is generated by a maven plugin. otherwise T5 ioc
will not be able to inject any of the tapestry-hibernate classes
g,
kris

-----Chris Lewis <[EMAIL PROTECTED]> schrieb: -----

    An: Tapestry users <users@tapestry.apache.org>
    Von: Chris Lewis <[EMAIL PROTECTED]>
    Datum: 17.10.2007 08:15AM
    Thema: Re: T5: tapestry-hibernate failing in today's 5.0.6
    snapshot and eclipse + jetty launcher

    For what its worth I'm not doing any tinkering/contributing in my app
    module. I had simply added tapestry-hibernate to my project and was
    @Injecting the Session as needed. What is really odd is that it works
    with the mvn jetty plugin but not through eclipse...

    Josh Canfield wrote:
    > I haven't spent any more time with it since last night. I'm
    using Tomcat,
    > and tried both through intellij and through mvn tomcat:deploy
    both get the
    > same error. I'll be spending more time with it tonight, if I
    figure out the
    > exact problem I'll let you know.
    >
    > It's possible that I'm doing something in my AppModule that is
    incompatible
    > with the new changes. I've implemented my own
    HibernateSessionManager... I
    > don't have access to the full stack trace right now but it fails
    when
    > injecting the HibernateSessionSource complaining that there is no
    > implementation of org.apache.tapestry.ioc.Configuration.
    >
    >    /**
    >      * The hibernate session manager doesn't handle errors well,
    replace it
    > with
    >      * a copy that does a rollback after an error.
    >      */
    >     @Scope(IOCConstants.PERTHREAD_SCOPE)
    >     public static HibernateSessionManager buildPatch(
    >             HibernateSessionSource sessionSource,
    >             ThreadCleanupHub threadCleanupHub) {
    >         HibernateSessionManagerImpl service = new
    > HibernateSessionManagerImpl(sessionSource);
    >         threadCleanupHub.addThreadCleanupListener(service);
    >         return service;
    >     }
    >
    >     public static void contributeAlias(
    >             @InjectService("Patch")
    >             HibernateSessionManager sessionMgr,
    >             Configuration<AliasContribution> configuration) {
    >         configuration.add(AliasContribution.create(
    > HibernateSessionManager.class, sessionMgr));
    >     }
    >
    > Josh
    >
    > On 10/16/07, Dan Adams <[EMAIL PROTECTED]> wrote:
> >> Are you guys still getting errors with this?
    >>
    >> On Tue, 2007-10-16 at 10:29 -0700, Josh Canfield wrote:
>> >>> I grabbed the nightly build and also ran into problems with my
    hibernate
    >>> module. I was getting an error that
    >>> org.apache.tapestry.ioc.Configurationhad no implementation.
    >>>
    >>> The hibernate configuration was changed recently for this defect:
    >>> https://issues.apache.org/jira/browse/TAPESTRY-1372it could be
    related
>>> >> ( I >> >>> have done only cursory investigation)
    >>>
    >>> Josh
    >>>
    >>> On 10/16/07, Chris Lewis <[EMAIL PROTECTED]> wrote:
>>> >>>> I updated and built 5.0.6-SNAPSHOT today, and now I get a
    goofy error
    >>>> when running my app through the eclipse jetty launcher (which has
>>>> >> worked >> >>>> fine). Firstly let me say that I've been building 5.0.6 daily
    for a
>>>> >> week >> >>>> or 2 now, and I've not run into this before now.
    >>>>
    >>>> If I try to access a page that @Injects a hibernate Session,
    I get the
    >>>> following exception:
    >>>>
    >>>>
    org.apache.tapestry.internal.services.TransformationException: Error
    >>>> obtaining injected value for field
    >>>> com.propertypix.www.pages.Start.session: No service
    implements the
    >>>> interface org.hibernate.Session.
    >>>>
    >>>> If I launch using mvn jetty:run, all works as usual. I don't
    know if
>>>> >> app >> >>>> versions are to blame, but eclipse launches jetty-5.1.12,
    while the
    >>>> maven one uses whatever the plugin calls for. That is, I'm
    not sure
>>>> >> what >> >>>> that one uses, but I've not changed the config - the maven
    version is
    >>>> 2.0.7.
    >>>>
    >>>> If anyone knows why this happens and how to fix it, I'd be
    grateful.
    >>>> Following is that lovely stack trace I mentioned:
    >>>>
    >>>> [ERROR] RequestExceptionHandler Processing of request failed with
    >>>> uncaught exception: java.lang.ClassNotFoundException: caught an
    >>>> exception while obtaining a class file for
>>>> >> com.propertypix.www.pages.Start >> >>>> java.lang.RuntimeException: java.lang.ClassNotFoundException:
    caught
>>>> >> an >> >>>> exception while obtaining a class file for >>>> >> com.propertypix.www.pages.Start >> >>>> at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass
>> >>>> (ComponentInstantiatorSourceImpl.java:258)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findInstantiator
>> >>>> (ComponentInstantiatorSourceImpl.java:240)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
$ComponentInstantiatorSource_115a9bb4e31.findInstantiator($ComponentInstantiatorSource_115a9bb4e31.java)
>> >>>> at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComponentElement
>> >>>> (PageElementFactoryImpl.java:319)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
$PageElementFactory_115a9bb4e5b.newRootComponentElement($PageElementFactory_115a9bb4e5b.java)
>> >>>> at
    >>>>
    >>>>
>>>> >>
    org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootComponent
>> >>>> (PageLoaderProcessor.java:405)
    >>>>    at
    >>>>
    org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(
    >>>> PageLoaderProcessor.java:390)
    >>>>    at
    >>>> org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(
    >>>> PageLoaderImpl.java:59)
    >>>>    at
    $PageLoader_115a9bb4e59.loadPage($PageLoader_115a9bb4e59.java)
    >>>>    at
    >>>> org.apache.tapestry.internal.services.PagePoolImpl.checkout(
    >>>> PagePoolImpl.java:70)
    >>>>    at $PagePool_115a9bb4e58.checkout($PagePool_115a9bb4e58.java)
    >>>>    at
    >>>> org.apache.tapestry.internal.services.RequestPageCacheImpl.get(
    >>>> RequestPageCacheImpl.java:44)
    >>>>    at
    >>>>
    $RequestPageCache_115a9bb4e57.get($RequestPageCache_115a9bb4e57.java)
    >>>>    at
    >>>>
    $RequestPageCache_115a9bb4e2e.get($RequestPageCache_115a9bb4e2e.java)
    >>>>    at
    >>>>
>>>> >>
    org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(
>> >>>> PageRenderRequestHandlerImpl.java:55)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
$PageRenderRequestHandler_115a9bb4e4f.handle($PageRenderRequestHandler_115a9bb4e4f.java)
>> >>>> at
    >>>>
    org.apache.tapestry.internal.services.RootPathDispatcher.dispatch(
    >>>> RootPathDispatcher.java:56)
    >>>>    at
    $Dispatcher_115a9bb4e53.dispatch($Dispatcher_115a9bb4e53.java)
    >>>>    at
    $Dispatcher_115a9bb4e45.dispatch($Dispatcher_115a9bb4e45.java)
    >>>>    at
    >>>> org.apache.tapestry.services.TapestryModule$13.service(
>>>> >> TapestryModule.java >> >>>> :1099)
    >>>>    at
    >>>> com.propertypix.www.services.PropertyPixModule$1.service(
    >>>> PropertyPixModule.java:104)
    >>>>    at
>>>> >> $RequestFilter_115a9bb4e44.service($RequestFilter_115a9bb4e44.java) >> >>>> at
    >>>>
    $RequestHandler_115a9bb4e46.service($RequestHandler_115a9bb4e46.java)
    >>>>    at
    >>>> org.apache.tapestry.internal.services.LocalizationFilter.service(
    >>>> LocalizationFilter.java:43)
    >>>>    at
    >>>>
    $RequestHandler_115a9bb4e46.service($RequestHandler_115a9bb4e46.java)
    >>>>    at
    >>>> org.apache.tapestry.services.TapestryModule$2.service(
>>>> >> TapestryModule.java >> >>>> :679)
    >>>>    at
    >>>>
    $RequestHandler_115a9bb4e46.service($RequestHandler_115a9bb4e46.java)
    >>>>    at
    >>>> org.apache.tapestry.internal.services.StaticFilesFilter.service(
    >>>> StaticFilesFilter.java:84)
    >>>>    at
    >>>>
    $RequestHandler_115a9bb4e46.service($RequestHandler_115a9bb4e46.java)
    >>>>    at
    >>>>
    org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
    >>>> CheckForUpdatesFilter.java:97)
    >>>>    at
    >>>>
    org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
    >>>> CheckForUpdatesFilter.java:1)
    >>>>    at
    >>>> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(
    >>>> ConcurrentBarrier.java:77)
    >>>>    at
    >>>>
    org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(
    >>>> CheckForUpdatesFilter.java:110)
    >>>>    at
    >>>>
    $RequestHandler_115a9bb4e46.service($RequestHandler_115a9bb4e46.java)
    >>>>    at
    >>>>
    $RequestHandler_115a9bb4e3e.service($RequestHandler_115a9bb4e3e.java)
    >>>>    at
    >>>> org.apache.tapestry.services.TapestryModule$12.service(
>>>> >> TapestryModule.java >> >>>> :1077)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
$HttpServletRequestHandler_115a9bb4e3d.service($HttpServletRequestHandler_115a9bb4e3d.java)
>> >>>> at
    org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java
>>>> >> :135) >> >>>> at
    >>>>
    org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
    >>>> WebApplicationHandler.java:821)
    >>>>    at
    >>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
    >>>> WebApplicationHandler.java:471)
    >>>>    at
    >>>>
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java
>>>> >> :568) >> >>>> at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
    >>>>    at
    >>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(
    >>>> WebApplicationContext.java:633)
    >>>>    at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
    >>>>    at org.mortbay.http.HttpServer.service(HttpServer.java:909)
    >>>>    at
    org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
    >>>>    at
    org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
>>>> >> :986) >> >>>> at
    org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
    >>>>    at
    >>>>
    org.mortbay.http.SocketListener.handleConnection(SocketListener.java
>>>> >> :245) >> >>>> at
    org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
    >>>>    at
    org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
    >>>> Caused by: java.lang.ClassNotFoundException: caught an
    exception while
    >>>> obtaining a class file for com.propertypix.www.pages.Start
    >>>>    at javassist.Loader.findClass(Loader.java:359)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass
>> >>>> (ComponentInstantiatorSourceImpl.java:85)
    >>>>    at javassist.Loader.loadClass(Loader.java:311)
    >>>>    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass
>> >>>> (ComponentInstantiatorSourceImpl.java:254)
    >>>>    ... 50 more
    >>>> Caused by:
    >>>>
    org.apache.tapestry.internal.services.TransformationException: Error
    >>>> obtaining injected value for field
    >>>> com.propertypix.www.pages.Start.session: No service
    implements the
    >>>> interface org.hibernate.Session.
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.ComponentClassTransformerImpl.transformComponentClass
>> >>>> (ComponentClassTransformerImpl.java:137)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
$ComponentClassTransformer_115a9bb4e3b.transformComponentClass($ComponentClassTransformer_115a9bb4e3b.java)
>> >>>> at
    >>>>
    >>>>
>>>> >>
    org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.onLoad
>> >>>> (ComponentInstantiatorSourceImpl.java:177)
    >>>>    at javassist.Loader.findClass(Loader.java:340)
    >>>>    ... 54 more
    >>>> Caused by: java.lang.RuntimeException: Error obtaining
    injected value
    >>>> for field com.propertypix.www.pages.Start.session: No service
>>>> >> implements >> >>>> the interface org.hibernate.Session.
    >>>>    at
    >>>> org.apache.tapestry.internal.services.InjectWorker.transform(
    >>>> InjectWorker.java:68)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
$ComponentClassTransformWorker_115a9bb4e64.transform($ComponentClassTransformWorker_115a9bb4e64.java)
>> >>>> at
    >>>>
    >>>>
>>>> >>
    
$ComponentClassTransformWorker_115a9bb4e61.transform($ComponentClassTransformWorker_115a9bb4e61.java)
>> >>>> at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.ComponentClassTransformerImpl.transformComponentClass
>> >>>> (ComponentClassTransformerImpl.java:131)
    >>>>    ... 57 more
    >>>> Caused by: java.lang.RuntimeException: No service implements the
    >>>> interface org.hibernate.Session.
    >>>>    at
    >>>> org.apache.tapestry.ioc.internal.RegistryImpl.getService(
>>>> >> RegistryImpl.java >> >>>> :523)
    >>>>    at
    >>>> org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getService(
    >>>> ObjectLocatorImpl.java:45)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
org.apache.tapestry.internal.services.ServiceInjectionProvider.provideInjection
>> >>>> (ServiceInjectionProvider.java:40)
    >>>>    at
    >>>>
    >>>>
>>>> >>
    
$InjectionProvider_115a9bb4e65.provideInjection($InjectionProvider_115a9bb4e65.java)
>> >>>> at
    >>>>
    >>>>
>>>> >>
    
$InjectionProvider_115a9bb4e62.provideInjection($InjectionProvider_115a9bb4e62.java)
>> >>>> at
    >>>> org.apache.tapestry.internal.services.InjectWorker.transform(
    >>>> InjectWorker.java:57)
    >>>>    ... 60 more
    >>>>
    >>>>
    ---------------------------------------------------------------------
    >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
    >>>> For additional commands, e-mail: [EMAIL PROTECTED]
    >>>>
    >>>>
>>>> >>> >> --
    >> Dan Adams
    >> Senior Software Engineer
    >> Interactive Factory
    >> 617.235.5857
    >>
    >>
    >>
    ---------------------------------------------------------------------
    >> 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]

Reply via email to