Further note : the same problem appears with the example
cxf-wsdl-first-osgi-package that can be found in the fuse 4.1.0.2
release. Both the SE./BC fail starting after a servicemix restart.
I have created an issue in JIRA: SMX4-326
Vincent GIRARDREYDET a écrit :
When you talk about the customer bundle, do you talk about my bundle ?
To specify a new start level, you can do:
osgi/bundle-level <bundle-id> <new-level>
I have already set my own bundles to level 61 (the maximum is 60 in
the kernel), but I have seen no difference.
Freeman Fang a écrit :
Hi,
I go through the log, the customer bundle is tried to get started
before the servicemix-cxf-se bundle start completely, so you see the
error.
But when you use osgi/list or features/list, the servicemix-cxf-se
bundle already get started completely, this is a timing issue, the
root cause for me is that the customer bundle level and features
bundle level are both 60, no guarantee that the necessary component
bundle get started firstly. But I'm not sure how to specify a start
level for new installed bundle or even is it possible, maybe other
guys on the list can shed light here.
Freeman
On 2009-7-24, at 下午4:44, Vincent GIRARDREYDET wrote:
Hi,
I'm already using FUSE ESB 4.1.0.2. I've also noted that doing
osgi/update on the bundle solves the problem.
Here is the results you asked:
s...@root:/> features/list | grep cxf
[uninstalled] [4.1.0.2-fuse] examples-cxf-osgi
[installed ] [2.2.2.1-fuse] cxf
[installed ] [2009.01.0.3-fuse] servicemix-cxf-se
[uninstalled] [4.1.0.2-fuse] examples-cxf-nmr
[uninstalled] [4.1.0.2-fuse] examples-cxf-camel-nmr
[uninstalled] [4.1.0.2-fuse] example-cxf-wsdl-first-osgi-package
[installed ] [2009.01.0.3-fuse] servicemix-cxf-bc
[uninstalled] [4.1.0.2-fuse] examples-cxf-jaxrs
[uninstalled] [4.1.0.2-fuse] cxf-jaxrs
[uninstalled] [4.1.0.2-fuse] cxf-osgi
[uninstalled] [4.1.0.2-fuse] examples-cxf-ws-addressing
[uninstalled] [4.1.0.2-fuse] cxf-nmr
[uninstalled] [1.6.1.0-fuse] camel-cxf
s...@root:/> osgi/list | grep CXF
[ 116] [Active ] [ ] [ 60] Apache CXF Bundle Jar
(2.2.2.1-fuse)
[ 118] [Active ] [Started] [ 60] ServiceMix :: CXF Binding
Component (2009.01.0.fuse)
[ 129] [Active ] [ ] [ 60] Apache CXF Runtime JBI
Binding (2.2.2.1-fuse)
[ 130] [Active ] [ ] [ 60] Apache CXF Runtime JBI
Transport (2.2.2.1-fuse)
[ 131] [Active ] [Started] [ 60] ServiceMix :: CXF Service
Engine (2009.01.0.fuse)
I also join a complete startup log.
Freeman Fang a écrit :
Hi,
Seems this error come from the servciemix-cxf-se feature (which
will start servicemix-cxf-se bundle) not get started successfully.
Could you use
osgi/list
features/list
to observe such feature and bundles?
From your log, I believe you're using Apache Servicemix 4.0
release, could you try with the latest FUSE ESB 4.1.0.2[1] which is
based on Apache Servicemix 4.0 but include more recent fix.
[1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/4.1.0.2-fuse/
Freeman
On 2009-7-24, at 下午4:19, Vincent GIRARDREYDET wrote:
Complementary note: I have tried increasing the bundle-level of
this bundle, but it did not help. I have also checked that my
Internet access is ok.
Vincent GIRARDREYDET a écrit :
hi,
I have a bundle that exposes a CXFSE endpoint. It works perfectly
well when deployed from the OSGi console after servicemix has
started. However, when I stop / start servicemix (the bundle will
thus be deployed from the cache), there is an error on bundle's
start and the bundle won't start:
10:02:40,382 | WARN | xtenderThread-62 |
XmlBeanDefinitionReader |
k.util.xml.SimpleSaxErrorHandler 47 | Ignored XML validation
warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read
schema document
'http://servicemix.apache.org/schema/servicemix-cxf-se-2009.01.xsd',
because 1) could not find the document; 2) the document could not
be read; 3) the root element of the document is not <xsd:schema>.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:231)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(ErrorHandlerWrapper.java:132)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:416)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:354)
at
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:2577)
at
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaWarning(XSDHandler.java:2568)
at
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:1872)
at
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:567)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:588)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:2472)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1817)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:741)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:414)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2769)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:662)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:154)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:525)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:844)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:773)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:155)
at
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:271)
at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:320)
at
org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:176)
at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:142)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:68)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:259)
at
org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:237)
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:215)
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:168)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:179)
at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:759)
at java.lang.Thread.run(Thread.java:619)
10:02:40,382 | INFO | xtenderThread-66 |
DefaultListableBeanFactory |
pport.DefaultListableBeanFactory 414 | Pre-instantiating
singletons in
org.springframework.beans.factory.support.defaultlistablebeanfact...@123fee1:
defining beans
[servicemix-saxon,executorFactory,endpoint-tracker,endpoints,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#0,cmProps,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0];
root of factory hierarchy
10:02:40,382 | INFO | xtenderThread-67 |
DefaultListableBeanFactory |
pport.DefaultListableBeanFactory 414 | Pre-instantiating
singletons in
org.springframework.beans.factory.support.defaultlistablebeanfact...@cbb612:
defining beans
[servicemix-http,servicemix-http-configuration,executorFactory,endpoint-tracker,authenticationService,keystoreManager,endpoints,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#0,cmProps,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0];
root of factory hierarchy
10:02:40,460 | ERROR | xtenderThread-62 |
OsgiBundleXmlApplicationContext |
gatedExecutionApplicationContext 293 | Pre refresh error
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
Line 35 in XML document from URL
[bundle://159.0:0/META-INF/spring/bundle-context.xml] is invalid;
nested exception is org.xml.sax.SAXParseException:
cvc-complex-type.2.4.c: The matching wildcard is strict, but no
declaration can be found for element 'cxfse:endpoint'.
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:176)
at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:142)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:68)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:259)
at
org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:237)
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:215)
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:168)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:179)
at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:759)
at java.lang.Thread.run(Thread.java:619)
Again, I have not this error when deploying from the console.
Do you have an idea of what it could be ?
I have a similar problem with an audit file deployed in the
deploy.xml directory. No problem when I copy it after servicemix
start, but on restart, I get this on the console :
s...@root:/> ERROR: Error starting
file:/D:/fuse-esb/data/generated-bundles/servicemix-file-audit.xml.jar
(org.osgi.framework.BundleException: Unresolved constraint in
bundle 60: package; (package=org.apache.servicemix.nmr.audit.file))
org.osgi.framework.BundleException: Unresolved constraint in
bundle 60: package; (package=org.apache.servicemix.nmr.audit.file)
at
org.apache.felix.framework.Felix.resolveBundle(Felix.java:3059)
at
org.apache.felix.framework.Felix.startBundle(Felix.java:1439)
at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:984)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:263)
at java.lang.Thread.run(Thread.java:619)
Thanks,
<servicemix.zip>