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-1372 it 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]





Reply via email to