[ http://issues.apache.org/jira/browse/HIVEMIND-54?page=all ] James Carman resolved HIVEMIND-54: ----------------------------------
Resolution: Won't Fix Hibernate-specific facilities are outside the scope of the HiveMind project. Please see either hivetranse or the hivemind project at JavaForge for Hibernate support. > Request for built-in support for Hibernate in HiveMind lib > ---------------------------------------------------------- > > Key: HIVEMIND-54 > URL: http://issues.apache.org/jira/browse/HIVEMIND-54 > Project: HiveMind > Type: New Feature > Components: examples, documentation, hivebuild > Reporter: Yuxiang Bu > Assignee: Howard M. Lewis Ship > Attachments: doconline.zip, hivemind-article.zip, hivemind-hibernate.tar.gz, > hivemind.hibernate.zip > > Request for adding build-in support for Hibernate Session and Transaction > management in HiveMind lib. > Since Hibernate is so popular now, I believe it will become a hot request. > At first I try to develop an HibernateInterceptorFactory service using > javassist. > But I found javassist cannot support "finally" yet. And the target code like > this: > boolean isTransactionBegunInThisMethod = false; > try { > isTransactionBegunInThisMethod = tm.beginTransaction(); > Object result = _inner.... > if (isTransactionBegunInThisMethod) > tm.commitTransaction(); > return result; > } finally { > if (isTransactionBegunInThisMethod) > tm.rollbackTransaction(); > } > And I cannot develop similar codes in javassist. > Then I developed an Interceptor with JDK proxy. > However, the interceptor cannot be used after HiveMind LoggingInterceptor. > The Registry successfully applies my HibernateInterceptor to service but fail > to apply the Logging Interceptor. > org.apache.hivemind.ApplicationRuntimeException: Unable to construct service > doconline.Adder: Unable to lookup $Proxy0: $Proxy0 > at > org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructNewServiceImplementation(AbstractServiceModelImpl.java:156) > ...... > Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to lookup > $Proxy0: $Proxy0 > at > org.apache.hivemind.service.impl.CtClassSource.getCtClass(CtClassSource.java:60) > at > org.apache.hivemind.service.impl.ClassFabImpl.addField(ClassFabImpl.java:71) > at > org.apache.hivemind.service.impl.LoggingInterceptorFactory.createInfrastructure(LoggingInterceptorFactory.java:236) > ...... > Caused by: javassist.NotFoundException: $Proxy0 > at javassist.ClassPoolTail.openClassfile(ClassPoolTail.java:300) > at javassist.ClassPoolTail.checkClassName(ClassPoolTail.java:177) > at javassist.ClassPool.checkClassName(ClassPool.java:709) > at javassist.ClassPool.get0(ClassPool.java:572) > at javassist.ClassPool.get(ClassPool.java:561) > at > org.apache.hivemind.service.impl.CtClassSource.getCtClass(CtClassSource.java:56) > ... 48 more > The problem seems occurs when javassist want to find the class file in > classpath but cannot find it( Of course it cannot ). > If I put Transaction Interceptor before the Logging Interceptor, all works > well. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]