Quantcast

cxfbc: java.lang.OutOfMemoryError: Java heap space

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

cxfbc: java.lang.OutOfMemoryError: Java heap space

abdo
Hi,
Please I need some help regarding this issue. I am in the process of migration from servicemix 3.3 to 4.4.2. I was using the cxf-bc provider without any issue. However trying to use the same wsdl/xsd in servicemix 4.4 is leading to this exception:

09:58:14,754 | ERROR | ExtenderThread-6 | tServiceReferenceRecipe$Listener | 10 - org.apache.aries.blueprint - 0.3.1 | Error calling listener method public void org.apache.servicemix.common.osgi.EndpointTracker.register(org.apache.servicemix.common.osgi.EndpointWrapper,java.util.Map) throws java.lang.Exception
java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_18]
        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_18]
        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)[10:org.apache.aries.blueprint:0.3.1]
        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.invokeMethods(AbstractServiceReferenceRecipe.java:465)[10:org.apache.aries.blueprint:0.3.1]
        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.bind(AbstractServiceReferenceRecipe.java:430)[10:org.apache.aries.blueprint:0.3.1]
        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.bind(AbstractServiceReferenceRecipe.java:327)[10:org.apache.aries.blueprint:0.3.1]
        at org.apache.aries.blueprint.container.ReferenceListRecipe.track(ReferenceListRecipe.java:130)[10:org.apache.aries.blueprint:0.3.1]
        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceAdded(AbstractServiceReferenceRecipe.java:261)[10:org.apache.aries.blueprint:0.3.1]
        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceChanged(AbstractServiceReferenceRecipe.java:245)[10:org.apache.aries.blueprint:0.3.1]
        at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3772)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.Felix.access$000(Felix.java:80)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:729)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.Felix.registerService(Felix.java:2861)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:229)[org.apache.felix.framework-3.0.9.jar:]
        at org.apache.servicemix.common.osgi.EndpointExporter.deploy(EndpointExporter.java:120)[169:servicemix-common:2011.02.0]
        at org.apache.servicemix.common.osgi.EndpointExporter.afterPropertiesSet(EndpointExporter.java:184)[169:servicemix-common:2011.02.0]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)[66:org.springframework.beans:3.0.6.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)[65:org.springframework.context:3.0.6.RELEASE]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)[73:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)[73:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)[73:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)[73:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)[76:org.springframework.osgi.extender:1.2.1]
        at java.lang.Thread.run(Thread.java:619)[:1.6.0_18]
Caused by: java.lang.OutOfMemoryError: Java heap space
        at java.lang.String.substring(String.java:1939)[:1.6.0_18]
        at java.lang.String.substring(String.java:1904)[:1.6.0_18]
        at org.apache.xerces.dom.ElementNSImpl.setName(Unknown Source)[:]
        at org.apache.xerces.dom.ElementNSImpl.<init>(Unknown Source)[:]
        at org.apache.xerces.dom.CoreDocumentImpl.createElementNS(Unknown Source)[:]
        at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)[:]
        at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)[:]
        at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)[:]
        at org.apache.servicemix.cxfbc.SchemaUtil.inlineTransformer(SchemaUtil.java:286)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:222)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.getSchemaList(SchemaUtil.java:176)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.getSchemas(SchemaUtil.java:76)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.getSchemas(SchemaUtil.java:66)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.SchemaUtil.getSchemas(SchemaUtil.java:61)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.cxfbc.CxfBcProvider.validate(CxfBcProvider.java:445)[181:servicemix-cxf-bc:2011.02.0]
        at org.apache.servicemix.common.osgi.EndpointTracker$OsgiServiceUnit.<init>(EndpointTracker.java:78)[169:servicemix-common:2011.02.0]
        at org.apache.servicemix.common.osgi.EndpointTracker.register(EndpointTracker.java:56)[169:servicemix-common:2011.02.0]
        at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_18]
        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_18]
        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)
        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.invokeMethods(AbstractServiceReferenceRecipe.java:465)
        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.bind(AbstractServiceReferenceRecipe.java:430)

Your help is very appreciated.

Thanks.
Abdo.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: cxfbc: java.lang.OutOfMemoryError: Java heap space

Freeman-2
Hi,

The default JAVA_MAX_MEM is 512M, it may not enough in some cases, you  
can specify more to see if it helps.
Edit $SMX_HOME/bin/servicemix
change
JAVA_MAX_MEM=512M
to
JAVA_MAX_MEM=1024M //or more if you want

Freeman
On 2012-7-5, at 下午10:29, abdo wrote:

> Hi,
> Please I need some help regarding this issue. I am in the process of
> migration from servicemix 3.3 to 4.4.2. I was using the cxf-bc  
> provider
> without any issue. However trying to use the same wsdl/xsd in  
> servicemix 4.4
> is leading to this exception:
>
> 09:58:14,754 | ERROR | ExtenderThread-6 | tServiceReferenceRecipe
> $Listener |
> 10 - org.apache.aries.blueprint - 0.3.1 | Error calling listener  
> method
> public void
> org
> .apache
> .servicemix
> .common
> .osgi
> .EndpointTracker
> .register
> (org.apache.servicemix.common.osgi.EndpointWrapper,java.util.Map)
> throws java.lang.Exception
> java.lang.reflect.InvocationTargetException
> at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_18]
> at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_18]
> at
> org
> .apache
> .aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:
> 226)[10:org.apache.aries.blueprint:0.3.1]
> at
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe
> $Listener.invokeMethods(AbstractServiceReferenceRecipe.java:465)
> [10:org.apache.aries.blueprint:0.3.1]
> at
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe
> $Listener.bind(AbstractServiceReferenceRecipe.java:430)
> [10:org.apache.aries.blueprint:0.3.1]
> at
> org
> .apache
> .aries
> .blueprint
> .container
> .AbstractServiceReferenceRecipe
> .bind(AbstractServiceReferenceRecipe.java:327)
> [10:org.apache.aries.blueprint:0.3.1]
> at
> org
> .apache
> .aries
> .blueprint
> .container.ReferenceListRecipe.track(ReferenceListRecipe.java:130)
> [10:org.apache.aries.blueprint:0.3.1]
> at
> org
> .apache
> .aries
> .blueprint
> .container
> .AbstractServiceReferenceRecipe
> .serviceAdded(AbstractServiceReferenceRecipe.java:261)
> [10:org.apache.aries.blueprint:0.3.1]
> at
> org
> .apache
> .aries
> .blueprint
> .container
> .AbstractServiceReferenceRecipe
> .serviceChanged(AbstractServiceReferenceRecipe.java:245)
> [10:org.apache.aries.blueprint:0.3.1]
> at
> org
> .apache
> .felix
> .framework
> .util
> .EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:
> 871)[org.apache.felix.framework-3.0.9.jar:]
> at
> org
> .apache
> .felix
> .framework
> .util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)
> [org.apache.felix.framework-3.0.9.jar:]
> at
> org
> .apache
> .felix
> .framework
> .util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
> [org.apache.felix.framework-3.0.9.jar:]
> at
> org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3772)
> [org.apache.felix.framework-3.0.9.jar:]
> at
> org.apache.felix.framework.Felix.access$000(Felix.java:80)
> [org.apache.felix.framework-3.0.9.jar:]
> at
> org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:729)
> [org.apache.felix.framework-3.0.9.jar:]
> at
> org
> .apache
> .felix
> .framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
> [org.apache.felix.framework-3.0.9.jar:]
> at
> org.apache.felix.framework.Felix.registerService(Felix.java:2861)
> [org.apache.felix.framework-3.0.9.jar:]
> at
> org
> .apache
> .felix
> .framework.BundleContextImpl.registerService(BundleContextImpl.java:
> 251)[org.apache.felix.framework-3.0.9.jar:]
> at
> org
> .apache
> .felix
> .framework.BundleContextImpl.registerService(BundleContextImpl.java:
> 229)[org.apache.felix.framework-3.0.9.jar:]
> at
> org
> .apache
> .servicemix
> .common.osgi.EndpointExporter.deploy(EndpointExporter.java:120)
> [169:servicemix-common:2011.02.0]
> at
> org
> .apache
> .servicemix
> .common
> .osgi.EndpointExporter.afterPropertiesSet(EndpointExporter.java:184)
> [169:servicemix-common:2011.02.0]
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .createBean(AbstractAutowireCapableBeanFactory.java:456)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org.springframework.beans.factory.support.AbstractBeanFactory
> $1.getObject(AbstractBeanFactory.java:293)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .beans
> .factory
> .support
> .DefaultSingletonBeanRegistry
> .getSingleton(DefaultSingletonBeanRegistry.java:222)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .beans
> .factory
> .support
> .DefaultListableBeanFactory
> .preInstantiateSingletons(DefaultListableBeanFactory.java:585)
> [66:org.springframework.beans:3.0.6.RELEASE]
> at
> org
> .springframework
> .context
> .support
> .AbstractApplicationContext
> .finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> [65:org.springframework.context:3.0.6.RELEASE]
> at
> org
> .springframework
> .osgi
> .context.support.AbstractDelegatedExecutionApplicationContext.access
> $1600(AbstractDelegatedExecutionApplicationContext.java:69)
> [73:org.springframework.osgi.core:1.2.1]
> at
> org
> .springframework
> .osgi.context.support.AbstractDelegatedExecutionApplicationContext
> $4.run(AbstractDelegatedExecutionApplicationContext.java:355)
> [73:org.springframework.osgi.core:1.2.1]
> at
> org
> .springframework
> .osgi
> .util
> .internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:
> 85)[73:org.springframework.osgi.core:1.2.1]
> at
> org
> .springframework
> .osgi
> .context
> .support
> .AbstractDelegatedExecutionApplicationContext
> .completeRefresh(AbstractDelegatedExecutionApplicationContext.java:
> 320)[73:org.springframework.osgi.core:1.2.1]
> at
> org
> .springframework
> .osgi
> .extender
> .internal
> .dependencies.startup.DependencyWaiterApplicationContextExecutor
> $
> CompleteRefreshTask
> .run(DependencyWaiterApplicationContextExecutor.java:132)
> [76:org.springframework.osgi.extender:1.2.1]
> at java.lang.Thread.run(Thread.java:619)[:1.6.0_18]
> Caused by: java.lang.OutOfMemoryError: Java heap space
> at java.lang.String.substring(String.java:1939)[:1.6.0_18]
> at java.lang.String.substring(String.java:1904)[:1.6.0_18]
> at org.apache.xerces.dom.ElementNSImpl.setName(Unknown Source)[:]
> at org.apache.xerces.dom.ElementNSImpl.<init>(Unknown Source)[:]
> at org.apache.xerces.dom.CoreDocumentImpl.createElementNS(Unknown
> Source)[:]
> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> [:]
> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> [:]
> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> [:]
> at
> org
> .apache
> .servicemix.cxfbc.SchemaUtil.inlineTransformer(SchemaUtil.java:286)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:222)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.addSchema(SchemaUtil.java:218)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.getSchemaList(SchemaUtil.java:
> 176)[181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.getSchemas(SchemaUtil.java:76)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.getSchemas(SchemaUtil.java:66)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.cxfbc.SchemaUtil.getSchemas(SchemaUtil.java:61)
> [181:servicemix-cxf-bc:2011.02.0]
> at
> org
> .apache.servicemix.cxfbc.CxfBcProvider.validate(CxfBcProvider.java:
> 445)[181:servicemix-cxf-bc:2011.02.0]
> at
> org.apache.servicemix.common.osgi.EndpointTracker
> $OsgiServiceUnit.<init>(EndpointTracker.java:78)[169:servicemix-
> common:2011.02.0]
> at
> org
> .apache
> .servicemix
> .common.osgi.EndpointTracker.register(EndpointTracker.java:56)
> [169:servicemix-common:2011.02.0]
> at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_18]
> at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_18]
> at
> org
> .apache
> .aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:
> 226)
> at
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe
> $Listener.invokeMethods(AbstractServiceReferenceRecipe.java:465)
> at
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe
> $Listener.bind(AbstractServiceReferenceRecipe.java:430)
>
> Your help is very appreciated.
>
> Thanks.
> Abdo.
>
>
> --
> View this message in context: http://servicemix.396122.n5.nabble.com/cxfbc-java-lang-OutOfMemoryError-Java-heap-space-tp5713838.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.

---------------------------------------------
Freeman Fang

FuseSource
Email:[hidden email]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042










Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: cxfbc: java.lang.OutOfMemoryError: Java heap space

abdo
Thanks Freeman for the quick response. Actually, that was the first action that I did: to increase the allocated memory. However this did not fix my issue. So I did take a look at the source code in servicemix-cxf-bc-2011.02-sources: org.apache.servicemix.cxfbc.SchemaUtil
The code was going in an infinite loop in this function:

private void inlineTransformer(String key, Element inlineSchema, Element outerSchema, boolean isInclude) {
        NodeList nl = null;
        if (isInclude) {
            nl = outerSchema.getElementsByTagNameNS(
                    "http://www.w3.org/2001/XMLSchema", "include");
        } else {
            nl = outerSchema.getElementsByTagNameNS(
                    "http://www.w3.org/2001/XMLSchema", "import");
        }

//Comment by Abdo: this loop can go infinite!!!!
        for (int j = 0; j < nl.getLength(); j++) {

            String schemaLocation = ((Element)nl.item(j)).getAttribute("schemaLocation");

//Added by abdo----start
if(inlineList.contains(schemaLocation))continue;
else
inlineList.add( schemaLocation );
//Added by abdo----end


            if (schemaLocation != null && getXsdFileName(schemaLocation, "/").
                    equals(getXsdFileName(key, "/"))) {

                outerSchema.removeChild(nl.item(j));


                for (int i = 0; i < inlineSchema.getChildNodes().getLength(); i++) {
                    outerSchema.appendChild(
                            outerSchema.getOwnerDocument().importNode(
                                inlineSchema.getChildNodes().item(i), true));
                }
                outerSchema.setPrefix("xs");
                outerSchema.setAttribute("xmlns:xs", "http://www.w3.org/2001/XMLSchema");
            }
        }
    }

Even this patch fixed my issue for now, I don't think its the best solution. let me know what you think.

Thanks.
Abdo.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: cxfbc: java.lang.OutOfMemoryError: Java heap space

Freeman-2
Hi,

I believe the infinite loop indicates that your schema have circular  
import/include, you need figure it out and remove the circular.

Also I can't understand how your patch works here.

//Added by abdo----start
if(inlineList.contains(schemaLocation))continue;
else
inlineList.add( schemaLocation );
//Added by abdo----end

Is the inlineList used somewhere else but you forget to mention?

If you wanna append a patch, create a jira ticket and append a diff  
patch is easy for review and apply.

Freeman
On 2012-7-7, at 上午3:18, abdo wrote:

> Thanks Freeman for the quick response. Actually, that was the first  
> action
> that I did: to increase the allocated memory. However this did not  
> fix my
> issue. So I did take a look at the source code in
> servicemix-cxf-bc-2011.02-sources:  
> org.apache.servicemix.cxfbc.SchemaUtil
> The code was going in an infinite loop in this function:
>
> private void inlineTransformer(String key, Element inlineSchema,  
> Element
> outerSchema, boolean isInclude) {
>        NodeList nl = null;
>        if (isInclude) {
>            nl = outerSchema.getElementsByTagNameNS(
>                    "http://www.w3.org/2001/XMLSchema", "include");
>        } else {
>            nl = outerSchema.getElementsByTagNameNS(
>                    "http://www.w3.org/2001/XMLSchema", "import");
>        }
>
> //Comment by Abdo: this loop can go infinite!!!!
>        for (int j = 0; j < nl.getLength(); j++) {
>
>            String schemaLocation =
> ((Element)nl.item(j)).getAttribute("schemaLocation");
>
> //Added by abdo----start
> if(inlineList.contains(schemaLocation))continue;
> else
> inlineList.add( schemaLocation );
> //Added by abdo----end
>
>
>            if (schemaLocation != null &&  
> getXsdFileName(schemaLocation,
> "/").
>                    equals(getXsdFileName(key, "/"))) {
>
>                outerSchema.removeChild(nl.item(j));
>
>
>                for (int i = 0; i <
> inlineSchema.getChildNodes().getLength(); i++) {
>                    outerSchema.appendChild(
>                            outerSchema.getOwnerDocument().importNode(
>                                inlineSchema.getChildNodes().item(i),
> true));
>                }
>                outerSchema.setPrefix("xs");
>                outerSchema.setAttribute("xmlns:xs",
> "http://www.w3.org/2001/XMLSchema");
>            }
>        }
>    }
>
> Even this patch fixed my issue for now, I don't think its the best  
> solution.
> let me know what you think.
>
> Thanks.
> Abdo.
>
>
>
> --
> View this message in context: http://servicemix.396122.n5.nabble.com/cxfbc-java-lang-OutOfMemoryError-Java-heap-space-tp5713838p5713856.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.

---------------------------------------------
Freeman Fang

FuseSource
Email:[hidden email]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042










Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: cxfbc: java.lang.OutOfMemoryError: Java heap space

abdo
Thanks Freeman. I will try to fix the circular import in my XSDs and retest again with the not modified CXF-BC.
Loading...