Hi Raymond,
Thanks for your prompt response.
I already have the dependency added.
Also if I don't expose the service as a Tuscany component and use it directly
by loading the beans.xml using XMLBeanFactory then everything works fine.
Code :-
FileSystemResource res = new FileSystemResource("spring/beans.xml");
XmlBeanFactory springFactory = new XmlBeanFactory(res);
DataService dataService = (DataService) springFactory.getBean("dataService");
Moreover, the was that is packed, has the spring-orm.jar in the lib folder, so
the corresponding class file is present, but the classloader is unable to load
it.
Do I need to add anything to my web.xml ?
Thanks
Anubhav
From: Raymond Feng [mailto:[email protected]]
Sent: Thursday, May 26, 2011 10:14 PM
To: [email protected]
Subject: Re: Tucany - Spring+Hibernate - ClassNotFoundException:
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
Can you try to add the following dependency?
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
Thanks,
Raymond
________________________________________________________________
Raymond Feng
[email protected]<mailto:[email protected]>
Apache Tuscany PMC member and committer: tuscany.apache.org
Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com
Personal Web Site: www.enjoyjava.com
________________________________________________________________
On May 26, 2011, at 5:37 AM, Anubhav Jain wrote:
Hi All,
I am using below configuration :-
Tuscany 1.6.1
Spring - 3.0.5
Hibernate - 3.6.3
Jetty - 6.1.18
I am developing a service layer to handle any database access. Service layer is
developed using Spring + Hibernate integration. Now I am declaring this Service
as a Tuscany component.
To accomplish the above I have done below steps :-
1> Added <sca:service> in beans.xml of spring :-
<sca:service name="DataService"
type="com.test.DataService" target="dataService"/>
2> Added below in composite.xml :-
<service name="DataService" promote="DataServiceComponent">
<interface.java interface="com.test.DataService"/>
</service>
<component name="DataServiceComponent">
<implementation.spring location="META-INF/spring/beans.xml"/>
</component>
3> Now I just create an exploded war using Maven build and copy it in the
webapps folder of jetty.
4> Next I start jetty from command-line.
Server start up fails complaining ClassNotFoundException:
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
Below is the stacktrace :-
org.osoa.sca.ServiceRuntimeException:
java.lang.reflect.InvocationTargetException
at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
at
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:76)
........
at org.mortbay.start.Main.start(Main.java:523)
at org.mortbay.start.Main.main(Main.java:119)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
..........
at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:199)
... 25 more
Caused by: org.osoa.sca.ServiceRuntimeException:
org.apache.tuscany.sca.contribution.service.ContributionResolveException:
org.apache.tuscany.sca.contribution.service.Contributi
onReadException: java.lang.ClassNotFoundException:
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
at org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:386)
at
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANode(NodeFactoryImpl.java:47)
..............
at
org.apache.tuscany.sca.host.webapp.WebSCADomain.<init>(WebSCADomain.java:41)
... 30 more
Caused by:
org.apache.tuscany.sca.contribution.service.ContributionResolveException:
org.apache.tuscany.sca.contribution.service.ContributionReadException:
java.lang.ClassNotFou
ndException:
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
at
org.apache.tuscany.sca.implementation.spring.xml.SpringImplementationProcessor.resolve(SpringImplementationProcessor.java:206)
at
org.apache.tuscany.sca.implementation.spring.xml.SpringImplementationProcessor.resolve(SpringImplementationProcessor.java:56)
at
org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.
java:388)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:183)
.............
at
org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.
java:388)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:183)
at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:231)
at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:59)
..............
at
org.apache.tuscany.sca.node.impl.NodeImpl.configureNode(NodeImpl.java:524)
at org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:381)
... 34 more
Caused by:
org.apache.tuscany.sca.contribution.service.ContributionReadException:
java.lang.ClassNotFoundException:
org.springframework.orm.hibernate3.annotation.AnnotationSessi
onFactoryBean
at
org.apache.tuscany.sca.implementation.spring.introspect.SpringXMLComponentTypeLoader.generateComponentType(SpringXMLComponentTypeLoader.java:580)
at
org.apache.tuscany.sca.implementation.spring.introspect.SpringXMLComponentTypeLoader.loadFromXML(SpringXMLComponentTypeLoader.java:188)
at
org.apache.tuscany.sca.implementation.spring.introspect.SpringXMLComponentTypeLoader.load(SpringXMLComponentTypeLoader.java:126)
at
org.apache.tuscany.sca.implementation.spring.xml.SpringImplementationProcessor.resolve(SpringImplementationProcessor.java:204)
... 50 more
Caused by: java.lang.ClassNotFoundException:
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
at
org.apache.tuscany.sca.implementation.spring.introspect.SpringXMLComponentTypeLoader.resolveClass(SpringXMLComponentTypeLoader.java:138)
at
org.apache.tuscany.sca.implementation.spring.introspect.SpringXMLComponentTypeLoader.generateComponentType(SpringXMLComponentTypeLoader.java:507)
Any help or samples for Tuscany + Sring+Hibernate used as a webapp is much
appreciated.
Thanks
<image001.jpg>
Anubhav Jain
Adobe Systems
i -1A, Sec - 25A, Noida, UP, INDIA. Pin: 201301
Extn: 0120 - 2444711- 33023
Mobile: +91-742-834-0396