When I was using Servicemix 3.1, I would specify my classpath dependencies
in the wsdl-first-jsr181-su in the xbean.xml config.  That worked fine for
loading the hibernate class and spring class that I'm using.  Eventually I
had experimented with using a JNDI datasource in servicemix for my jsr181
SU, this ended up requiring me to move all of my hibernate dependencies and
spring dependencies and put them directly into the servicemix lib directory
or it wouldn't work.

I've since switched back to using my own pool, since maintaining versions of
jars that I have to copy manually into service lib is a pain.  Since I've
upgraded to the newest Servicemix SNAPSHOT, I now do not have any of my
hibernate or spring dependencies in the Servicemix lib distribution
directory, my CXF services no longer work either.

So, if you take the cxf-wsdl-first example for instance, if you had added
some spring and hibernate dependencies to it, which su pom.xml would it be a
dependency in?  I would have assumed cxf-wsdl-first-cxfse-su, which would be
the equivalent of where I have defined mine, but when I start up servicemix,
I get ClassNotFoundExceptions when I deploy that way, I'm guessing because
the hibernate classes aren't available globally in servicemix, but I didn't
think they had to be.  My other CXF service, doesn't use hibernate or spring
for anything, so it doesn't get these errors, but instead, servicemix can't
deploy that SU because it can't find the log4j.dtd, I'm guessing because my
log4j.xml file is local to my   cxfse-su service and not on the global
classpath.  It looks like it's failing when trying to deploy it to the
Servicemix-wsn-2005 component (I deploys it to the cxfse and servicemix-wsn
as well for notifications... I'm guess that is the correct way to do it, or
does it result in my service deployed twice?)  In 3.2, what is the proper
place to put dependencies?

Both stack traces when I deploy are below:

org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'entityManagerFactory' defined in
class path resource [flare-hibernate-spring.xml]: Invocation of init method
failed; nested exception is java.lang.NoSuchM
ethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
Caused by:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
        at net.sf.cglib.core.DebuggingClassWriter.<init>(
DebuggingClassWriter.java:47)
        at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(
DefaultGeneratorStrategy.java:30)
        at net.sf.cglib.core.DefaultGeneratorStrategy.generate(
DefaultGeneratorStrategy.java:24)
        at net.sf.cglib.core.AbstractClassGenerator.create(
AbstractClassGenerator.java:215)
        at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java
:145)
        at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
        at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
        at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
        at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
        at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(
CGLIBLazyInitializer.java:117)
        at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(
CGLIBProxyFactory.java:43)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(
PojoEntityTuplizer.java:162)
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(
AbstractEntityTuplizer.java:135)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(
PojoEntityTuplizer.java:55)
        at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping
.<init>(EntityEntityModeToTuplizerMapping.java:56)

        at org.hibernate.tuple.entity.EntityMetamodel.<init>(
EntityMetamodel.java:295)
        at org.hibernate.persister.entity.AbstractEntityPersister.<init>(
AbstractEntityPersister.java:434)
        at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(
SingleTableEntityPersister.java:109)
        at org.hibernate.persister.PersisterFactory.createClassPersister(
PersisterFactory.java:55)
        at org.hibernate.impl.SessionFactoryImpl.<init>(
SessionFactoryImpl.java:226)
        at org.hibernate.cfg.Configuration.buildSessionFactory(
Configuration.java:1294)
        at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(
Ejb3Configuration.java:691)
        at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(
HibernatePersistence.java:127)
        at
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory
(LocalConta
inerEntityManagerFactoryBean.java:218)
        at
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet
(AbstractEntityManagerFactoryBe
an.java:251)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
(AbstractAutowir
eCapableBeanFactory.java:1201)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
(AbstractAutowireCa
pableBeanFactory.java:1171)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
(AbstractAutowireCapabl
eBeanFactory.java:425)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
AbstractBeanFactory.java:251)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
(DefaultSingletonBeanRegist
ry.java:156)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
AbstractBeanFactory.java:248)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
AbstractBeanFactory.java:160)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
(DefaultListableB
eanFactory.java:284)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(
AbstractApplicationContext.java:352)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(
ClassPathXmlApplicationContext.java:
91)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(
ClassPathXmlApplicationContext.java:
75)
        at com.service.hibernate.util.FlareHibernateBeanLocator.locate(
FlareHibernateBeanLocator.java:82)
        at
com.service.hibernate.util.FlareHibernateBeanLocator.getProcessInstanceFacade
(FlareHibernateBeanLocator.
java:189)
        at com.service.workflow.util.WorkflowUtil.<init>(WorkflowUtil.java
:69)
        at com.service.workflow.SystemProcessDefinitionHelper.<init>(
SystemProcessDefinitionHelper.java:49)
        at com.service.alert.AlertServiceImpl.<init>(AlertServiceImpl.java
:33)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at org.springframework.beans.BeanUtils.instantiateClass(
BeanUtils.java:85)
        at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate
(SimpleInstantiationStrategy.
java:61)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean
(AbstractAutowireC
apableBeanFactory.java:756)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance
(AbstractAutowi
reCapableBeanFactory.java:721)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
(AbstractAutowireCapabl
eBeanFactory.java:384)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean
(BeanDefinitionValueReso
lver.java:215)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary
(BeanDefinitionVa
lueResolver.java:122)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues
(AbstractAutow
ireCapableBeanFactory.java:1099)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean
(AbstractAutowireCapa
bleBeanFactory.java:861)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
(AbstractAutowireCapabl
eBeanFactory.java:421)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
AbstractBeanFactory.java:251)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
(DefaultSingletonBeanRegist
ry.java:156)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
AbstractBeanFactory.java:248)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
AbstractBeanFactory.java:160)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
(DefaultListableB
eanFactory.java:287)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(
AbstractApplicationContext.java:352)
        at org.apache.xbean.server.spring.configuration.SpringConfiguration
.<init>(SpringConfiguration.java:63)
        at
org.apache.xbean.server.spring.configuration.SpringConfigurationServiceFactory.createService
(SpringConfigurati
onServiceFactory.java:106)
        at org.apache.xbean.kernel.standard.ServiceManager.start(
ServiceManager.java:420)
        at org.apache.xbean.kernel.standard.ServiceManager.initialize(
ServiceManager.java:200)
        at
org.apache.xbean.kernel.standard.RegistryFutureTask$RegisterCallable.call(
RegistryFutureTask.java:110)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java
:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at
org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService(
ServiceManagerRegistry.java:409)
        at org.apache.xbean.kernel.standard.StandardKernel.registerService(
StandardKernel.java:220)
        at org.apache.xbean.server.spring.loader.SpringLoader.load(
SpringLoader.java:152)
        at org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(
AbstractXBeanDeployer.java:83)
        at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(
BaseServiceUnitManager.java:88)
        at org.apache.servicemix.common.BaseServiceUnitManager.deploy(
BaseServiceUnitManager.java:69)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(
DeploymentService.java:508)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs(
AutoDeploymentService.java:479)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingComponents
(AutoDeploymentService.java:53
2)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateSharedLibrary
(AutoDeploymentService.java:314)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:251)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(
AutoDeploymentService.java:647)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(
AutoDeploymentService.java:60)
        at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(
AutoDeploymentService.java:611)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)





java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message";
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result xmlns="
http://java.sun.com/xml/ns/jbi/management-message";>
        <component-name>servicemix-wsn2005</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>deploy</task-id>
                        <task-result>FAILED</task-result>
                        <message-type>ERROR</message-type>
                        <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Invalid xml</loc-message>
</msg-loc-info>
</task-status-msg>
                        <exception-info>
                                <nesting-level>1</nesting-level>
                                <msg-loc-info>
                                        <loc-token/>
                                        <loc-message>null</loc-message>
                                        <stack-trace><![CDATA[
javax.xml.bind.UnmarshalException
 - with linked exception:
[java.io.FileNotFoundException: C:\servicemix-
3.2\data\smx\service-assemblies\CommunicationServiceSA\version_1\sus\servic
emix-wsn2005\CommunicationService-jsr181-su\log4j.dtd (The system cannot
find the file specified)]
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(
UnmarshallerImpl.java:201)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(
UnmarshallerImpl.java:172)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(
AbstractUnmarshallerImpl.java:137)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(
AbstractUnmarshallerImpl.java:142)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(
AbstractUnmarshallerImpl.java:151)
        at org.apache.servicemix.wsn.component.WSNDeployer.createEndpoint(
WSNDeployer.java:106)
        at org.apache.servicemix.wsn.component.WSNDeployer.deploy(
WSNDeployer.java:92)
        at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(
BaseServiceUnitManager.java:88)
        at org.apache.servicemix.common.BaseServiceUnitManager.deploy(
BaseServiceUnitManager.java:69)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(
DeploymentService.java:508)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs(
AutoDeploymentService.java:479)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComponent(
AutoDeploymentService.java:290)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:249)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(
AutoDeploymentService.java:647)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(
AutoDeploymentService.java:60)
        at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(
AutoDeploymentService.java:611)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
Caused by: java.io.FileNotFoundException: C:\servicemix-
3.2\data\smx\service-assemblies\CommunicationServiceSA\version_1\
sus\servicemix-wsn2005\CommunicationService-jsr181-su\log4j.dtd (The system
cannot find the file specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at java.io.FileInputStream.<init>(FileInputStream.java:66)
        at sun.net.www.protocol.file.FileURLConnection.connect(
FileURLConnection.java:70)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(
FileURLConnection.java:161)
        at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
Source)
        at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown
Source)
        at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown
Source)
        at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown
Source)
        at
org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown
Source)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(
UnmarshallerImpl.java:199)
        ... 17 more
]]></stack-trace>
                                </msg-loc-info>
                        </exception-info>
                </task-result-details>
        </component-task-result-details>
</component-task-result>
<component-task-result xmlns="
http://java.sun.com/xml/ns/jbi/management-message";>
        <component-name>servicemix-cxf-bc</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>deploy</task-id>
                        <task-result>FAILED</task-result>
                        <message-type>ERROR</message-type>
                        <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Unable to find suitable deployer for Service Unit
'CommunicationServiceSU'</loc-message>
</msg-loc-info>
</task-status-msg>
                </task-result-details>
        </component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>

        at org.apache.servicemix.jbi.framework.ManagementSupport.failure(
ManagementSupport.java:125)
        at org.apache.servicemix.jbi.framework.ManagementSupport.failure(
ManagementSupport.java:111)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(
DeploymentService.java:543)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs(
AutoDeploymentService.java:479)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComponent(
AutoDeploymentService.java:290)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:249)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(
AutoDeploymentService.java:647)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(
AutoDeploymentService.java:60)
        at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(
AutoDeploymentService.java:611)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

Reply via email to