Hi Christian,

Sorry but I think you're wrong here.
It is possible to deploy non-osgi applications on Karaf so I don't get your
point actually (it may be harder depending on the way you do it, there we
agree)

I think the problem of Skekh relies on the fact he installed the wrong
feature version which depends on Hibernate 4 and not Hibernate 3 like
stated in his code sample.

Regards,
Morgan

2016-04-14 14:45 GMT+02:00 Christian Schneider <[email protected]>:

> You can not simply work with hibernate like outside OSGi. If you try then
> you will hist classloader problems at many points.
>
> I got two examples that show how to do JPA in OSGi:
>
> http://www.liquid-reality.de/display/liquid/2015/06/30/Apache+Karaf+Tutorial+part+10+-+Declarative+services
>
> http://www.liquid-reality.de/display/liquid/2015/03/05/Apache+Karaf+Tutorial+Part+9+-+Annotation+based+blueprint+and+JPA
>
> The examples use blueprint or DS. Unfortunately I have no example with
> spring.
>
> Christian
>
>
> On 13.04.2016 08:52, Shekh Muenudden wrote:
>
>> I have create simple soap webservice in servicemix.
>> and installed hibernate feature.
>>
>> i got following error:
>> karaf@root>Exception in thread "SpringOsgiExtenderThread-6"
>> org.springframework.beans.factory.BeanCreationException: Error creating
>> bean
>> with name 'sessionFactory' de
>> fined in URL [bundle://234.46:0/META-INF/spring/spring-hibernate.xml]:
>> Initialization of bean failed; nested exception is
>> java.lang.NoClassDefFoundError: [Lorg/hibern
>> ate/engine/FilterDefinition;
>>          at
>>
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
>>          at
>>
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
>>          at
>>
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
>>          at
>>
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
>>          at
>>
>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
>>          at
>>
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
>>          at
>>
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:636)
>>          at
>>
>> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:934)
>>          at
>>
>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)
>>          at
>>
>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)
>>          at
>>
>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>>          at
>>
>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320
>> )
>>          at
>>
>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicat
>> ionContextExecutor.java:132)
>>          at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.NoClassDefFoundError:
>> [Lorg/hibernate/engine/FilterDefinition;
>>          at java.lang.Class.getDeclaredMethods0(Native Method)
>>          at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
>>          at java.lang.Class.privateGetPublicMethods(Class.java:2902)
>>          at java.lang.Class.getMethods(Class.java:1615)
>>          at
>>
>> org.springframework.beans.ExtendedBeanInfoFactory.supports(ExtendedBeanInfoFactory.java:53)
>>          at
>>
>> org.springframework.beans.ExtendedBeanInfoFactory.getBeanInfo(ExtendedBeanInfoFactory.java:45)
>>          at
>>
>> org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:270)
>>          at
>>
>> org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:195)
>>          at
>>
>> org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:321)
>>          at
>>
>> org.springframework.beans.BeanWrapperImpl.getPropertyDescriptorInternal(BeanWrapperImpl.java:351)
>>          at
>>
>> org.springframework.beans.BeanWrapperImpl.isWritableProperty(BeanWrapperImpl.java:428)
>>          at
>>
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1421)
>>          at
>>
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1160)
>>          at
>>
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>>          ... 13 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.hibernate.engine.FilterDefinition not found by org.hibernate.core
>> [303]
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>          at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>          at
>>
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>          at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>          ... 27 more
>>
>>
>>
>> My hibernate bean configuration is :
>>
>>    <bean id="sessionFactory"
>> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>>
>>
>>          <property name="hibernateProperties">
>>              <props>
>>                  <prop
>> key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
>>                  <prop key="hibernate.show_sql">true</prop>
>>                  <prop key="hibernate.format_sql">true</prop>
>>                  <prop key="hibernate.hbm2ddl.auto">update</prop>
>>              </props>
>>          </property>
>>          <property name="dataSource">
>>              <ref bean="dataSource" />
>>          </property>
>>               </bean>
>>
>>
>>
>> --
>> View this message in context:
>> http://servicemix.396122.n5.nabble.com/Integrate-hibernate-in-serviceM-ix-tp5723593.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> http://www.talend.com
>
>

Reply via email to