Charles, Just for testing purposes, to see if we're on the right track... could you add an explicit import for the org.hibernate.proxy package to your javassist bundle?
Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/3/24 cmoulliard <[email protected]>: > > DynamicImport-Package does not change anything. The error is still there even > If I add the following line to the MANIFEST file of javassist : > > DynamicImport-Package: org.hibernate.proxy.*,* > > Regards > > > cmoulliard wrote: >> >> No Gert. >> >> Here is what the bundle export : >> >> Javassist Java Programming Assistant (117) >> ------------------------------------------ >> Specification-Title = Javassist >> Main-Class = javassist.CtClass >> Specification-Version = 3.9.0.GA >> Specification-Vendor = Shigeru Chiba, Tokyo Institute of Technology >> Export-Package = >> javassist;version="3.9.0.GA";uses:="javassist.bytecode,javassist.bytecode.annotation,javassist.compiler,javassist.compiler.ast,javassist.expr",javassist. >> bytecode;version="3.9.0.GA";uses:="javassist,javassist.bytecode.annotation",javassist.bytecode.analysis;version="3.9.0.GA";uses:="javassist,javassist.bytecode",javassist. >> bytecode.annotation;version="3.9.0.GA";uses:="javassist,javassist.bytecode",javassist.bytecode.stackmap;version="3.9.0.GA";uses:="javassist,javassist.bytecode",javassist. >> compiler;version="3.9.0.GA";uses:="javassist,javassist.bytecode,javassist.compiler.ast",javassist.compiler.ast;version="3.9.0.GA";uses:="javassist,javassist.compiler",jav >> assist.convert;version="3.9.0.GA";uses:="javassist,javassist.bytecode",javassist.expr;version="3.9.0.GA";uses:="javassist,javassist.bytecode,javassist.compiler,javassist. >> compiler.ast",javassist.runtime;version="3.9.0.GA",javassist.scopedpool;version="3.9.0.GA";uses:="javassist",javassist.tools;version="3.9.0.GA",javassist.tools.reflect;ve >> rsion="3.9.0.GA";uses:="javassist",javassist.tools.rmi;version="3.9.0.GA";uses:="javassist,javassist.tools.web",javassist.tools.web;version="3.9.0.GA";uses:="javassist",j >> avassist.util;version="3.9.0.GA";uses:="com.sun.jdi.connect,com.sun.jdi.event,com.sun.jdi.request",javassist.util.proxy;version="3.9.0.GA";uses:="javassist,javassist.byte >> code" >> Bundle-Classpath = . >> Bundle-Version = 3.9.0.GA >> Created-By = Shigeru Chiba, Tokyo Institute of Technology >> Bundle-ManifestVersion = 2 >> Manifest-Version = 1.0 >> Bundle-Vendor = SpringSource >> Bundle-Name = Javassist Java Programming Assistant >> Ant-Version = Apache Ant 1.7.0 >> Import-Package = >> com.sun.jdi;resolution:=optional,com.sun.jdi.connect;resolution:=optional,com.sun.jdi.event;resolution:=optional,com.sun.jdi.request;resolution:=optional >> >> Bundle-SymbolicName = com.springsource.javassist >> >> I will modify the manifest in order to add Dynamic-Import : * >> >> Regards, >> >> >> Gert Vanthienen wrote: >>> >>> Charles, >>> >>> Do you have a Dynamic-Import or something in the Javassist bundle that >>> allow it to use the exported class? >>> >>> Regards, >>> >>> Gert Vanthienen >>> ------------------------ >>> Open Source SOA: http://fusesource.com >>> Blog: http://gertvanthienen.blogspot.com/ >>> >>> >>> >>> 2009/3/24 cmoulliard <[email protected]>: >>>> >>>> Apparently "mappingDirectoryLocations" does not work when the >>>> configuration >>>> files are packages in a jar of a bundle separately. >>>> >>>> Nevertheless, mappingLocations works like this : >>>> >>>> <property name="mappingLocations"> >>>> <list> >>>> >>>> <value>classpath*:META-INF/org/apache/camel/example/reportincident/model/*.hbm.xml</value> >>>> </list> >>>> </property> >>>> >>>> Unfortunalely, I have the following error now : >>>> >>>> Is it a bug in javassist (3.9.0.GA) who cannot load the >>>> org.hibernate.proxy.HibernateProxy class or a issue with felix >>>> classloading >>>> ? >>>> >>>> remark : org.apache.proxy package is well defined in my MANIFEST file >>>> (and >>>> of course expeorted by Hibernate 3.3.1.GA bundle) >>>> >>>> {code} >>>> Caused by: java.lang.RuntimeException: by >>>> java.lang.NoClassDefFoundError: >>>> org/hibernate/proxy/HibernateProxy >>>> at >>>> javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:174) >>>> at >>>> org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:162) >>>> ... 58 more >>>> Caused by: javassist.CannotCompileException: by >>>> java.lang.NoClassDefFoundError: org/hibernate/proxy/HibernateProxy >>>> at >>>> javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:167) >>>> at >>>> javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:170) >>>> ... 59 more >>>> Caused by: java.lang.NoClassDefFoundError: >>>> org/hibernate/proxy/HibernateProxy >>>> at java.lang.ClassLoader.defineClass1(Native Method) >>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:621) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>> at >>>> javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:159) >>>> ... 60 more >>>> Caused by: java.lang.ClassNotFoundException: >>>> org.hibernate.proxy.HibernateProxy >>>> at >>>> org.apache.felix.framework.searchpolicy.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:558) >>>> at >>>> org.apache.felix.framework.searchpolicy.ModuleImpl.access$100(ModuleImpl.java:59) >>>> at >>>> org.apache.felix.framework.searchpolicy.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1427) >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:252) >>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) >>>> {code} >>>> >>>> cmoulliard wrote: >>>>> >>>>> Gert, >>>>> >>>>> Nobody from Spring-Hibernate has provided a feedback now. From my point >>>>> of >>>>> view after digging the question since last friday, I'm convinced that >>>>> the >>>>> issue is not at all related to SMX4. I have created a ticket at Spring >>>>> DM. >>>>> >>>>> I have been able to find a workaround using mappingResources instead of >>>>> mappingLocations or mappingDirectoryLocations but this means that the >>>>> hbm.xml files (this is what spring team has done in their petclinic >>>>> example) must be put in the same bundle where the >>>>> org.springframework.orm.hibernate3.LocalSessionFactoryBean is >>>>> instantiated >>>>> : >>>>> >>>>> <bean id="sessionFactory" >>>>> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> >>>>> >>>>> <!-- Classloading does not work under OSGI --> >>>>> <property name="mappingResources"> >>>>> <list> >>>>> <value>Incident.hbm.xml</value> >>>>> </list> >>>>> </property> >>>>> >>>>> For the moment, this is not blocking. So, I can continue to work and I >>>>> have been able to integrate camel, cxf, spring and Hibernate (using >>>>> commons-dbcp and mysql) top of SMX4. I will start to write the second >>>>> of >>>>> my tutorial with the material that I have. >>>>> >>>>> Remark : You are right, the problem comes from a classloading issue >>>>> with >>>>> Hibernate or maybe between the name stored in the EntityPersister >>>>> object >>>>> (package name + class vs class name) >>>>> >>>>> Regards, >>>>> >>>>> Charles >>>>> >>>>> >>>>> >>>>> Gert Vanthienen wrote: >>>>>> >>>>>> Charles, >>>>>> >>>>>> Did you get an answer for this on the Spring-Hibernate forum or do you >>>>>> rather think it's more OSGi/ServiceMix Kernel related? >>>>>> From our angle, the most likely explanation would be a classloader >>>>>> mismatch or a missing import (probably dynamic-import) from the >>>>>> hibernate bundle to find the hbm files or link them to the correct >>>>>> class. What imports/exports are you using? >>>>>> >>>>>> Regards, >>>>>> >>>>>> Gert Vanthienen >>>>>> ------------------------ >>>>>> Open Source SOA: http://fusesource.com >>>>>> Blog: http://gertvanthienen.blogspot.com/ >>>>>> >>>>>> >>>>>> >>>>>> 2009/3/20 cmoulliard <[email protected]>: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I don't if this is the good forum to post this issue. If this is not >>>>>>> the >>>>>>> case, I will post my topic on spring-hibernate forum >>>>>>> >>>>>>> My issue is the following, Hibernate claims that entity Incident does >>>>>>> not >>>>>>> exist. >>>>>>> >>>>>>> s...@root:osgi> org.hibernate.MappingException: Unknown entity: >>>>>>> org.apache.camel.example.reportincident.model.Incident >>>>>>> at >>>>>>> org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580) >>>>>>> at >>>>>>> org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1365) >>>>>>> at >>>>>>> org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:203) >>>>>>> at >>>>>>> org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:535) >>>>>>> at >>>>>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:103) >>>>>>> at >>>>>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) >>>>>>> at >>>>>>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534) >>>>>>> at >>>>>>> org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526) >>>>>>> at >>>>>>> org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:522) >>>>>>> at >>>>>>> org.apache.camel.example.reportincident.dao.impl.IncidentDAOImpl.saveIncident(IncidentDAOImpl.java:101) >>>>>>> >>>>>>> This error occurs when Hibernate does not find or load the file >>>>>>> hbm.xml >>>>>>> >>>>>>> Here is my config : >>>>>>> >>>>>>> As you can see I have used mappingLocations instead of >>>>>>> mappingResources >>>>>>> because they was an error during the load of the files with >>>>>>> mappingResources >>>>>>> >>>>>>> <!-- Hibernate SessionFactory Definition --> >>>>>>> <bean id="sessionFactory" >>>>>>> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> >>>>>>> >>>>>>> <!-- Classloading does not work under OSGI --> >>>>>>> <property name="mappingResources"> >>>>>>> <list> >>>>>>> >>>>>>> <value>META-INF/org/apache/camel/example/reportincident/model/Incident.hbm.xml</value> >>>>>>> </list> >>>>>>> </property> >>>>>>> >>>>>>> <!-- see here >>>>>>> >>>>>>> http://www.carbonfive.com/community/archives/2007/05/using_classpath.html >>>>>>> and >>>>>>> http://jira.springframework.org/browse/SPR-3965 >>>>>>> for more info about the classloading issue on >>>>>>> OSGI >>>>>>> --> >>>>>>> <property name="mappingLocations"> >>>>>>> <list> >>>>>>> >>>>>>> <value>classpath*:META-INF/org/apache/camel/example/reportincident/model/Incident.hbm.xml</value> >>>>>>> </list> >>>>>>> </property> >>>>>>> >>>>>>> >>>>>>> Any idea ? >>>>>>> >>>>>>> Regards >>>>>>> >>>>>>> ----- >>>>>>> Charles Moulliard >>>>>>> SOA Architect >>>>>>> >>>>>>> My Blog : http://cmoulliard.blogspot.com/ >>>>>>> http://cmoulliard.blogspot.com/ >>>>>>> -- >>>>>>> View this message in context: >>>>>>> http://www.nabble.com/Issue-with-Hibernate-and-hbm.xml-files-%28SMX4%29-tp22623666p22623666.html >>>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> ----- >>>>>> --- >>>>>> Gert Vanthienen >>>>>> http://gertvanthienen.blogspot.com >>>>>> >>>>> >>>>> >>>> >>>> >>>> ----- >>>> Charles Moulliard >>>> SOA Architect >>>> >>>> My Blog : http://cmoulliard.blogspot.com/ >>>> http://cmoulliard.blogspot.com/ >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Issue-with-Hibernate-and-hbm.xml-files-%28SMX4%29-tp22623666p22676649.html >>>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>>> >>>> >>> >>> >>> ----- >>> --- >>> Gert Vanthienen >>> http://gertvanthienen.blogspot.com >>> >> >> > > > ----- > Charles Moulliard > SOA Architect > > My Blog : http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/ > -- > View this message in context: > http://www.nabble.com/Issue-with-Hibernate-and-hbm.xml-files-%28SMX4%29-tp22623666p22677738.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > >
