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]