Announcement Announcement Module
Collapse

Spring Dynamic Modules forum decommissioned in favor of Eclipse Gemini Blueprint

With the official first release of Eclipse Gemini Blueprint shipped, the migration of the Spring Dynamic Modules code base to the Eclipse Foundation, as part of the Gemini project, has been completed.

As such, this forum has been decommissioned in favour of the Eclipse Gemini forums.
See more
See less
Spring DM trying to obtain a service hangs. Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring DM trying to obtain a service hangs.

    Hi,

    We are using Spring DM 1.2.1 and Spring 3.0.1.RELEASE-A.

    We have some configuration job (to map DWR services to spring services). Here I find that if a spring service is not obtained, the thread hangs. The stack for the thread is

    Code:
    Name: agclinical init task
    State: TIMED_WAITING on java.lang.Object@aa6844
    Total blocked: 5  Total waited: 34
    
    Stack trace: 
    java.lang.Object.wait(Native Method)
    org.springframework.osgi.service.importer.support.internal.support.RetryTemplate.execute(RetryTemplate.java:106)
    org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.lookupService(ServiceDynamicInterceptor.java:430)
    org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.getTarget(ServiceDynamicInterceptor.java:415)
    org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.afterPropertiesSet(ServiceDynamicInterceptor.java:472)
    org.springframework.osgi.service.importer.support.OsgiServiceProxyFactoryBean.createProxy(OsgiServiceProxyFactoryBean.java:215)
    org.springframework.osgi.service.importer.support.AbstractServiceImporterProxyFactoryBean.getObject(AbstractServiceImporterProxyFactoryBean.java:86)
    org.springframework.osgi.service.importer.support.OsgiServiceProxyFactoryBean.getObject(OsgiServiceProxyFactoryBean.java:161)
    org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:143)
    org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
    org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1387)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:244)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
    org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
    org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1308)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
    org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1044)
    com.arisglobal.aglite.BeanRegistry.getBean(BeanRegistry.java:174)
    com.arisglobal.aglite.BeanRegistry.getService(BeanRegistry.java:145)
    com.arisglobal.aglite.dwr.OsgiCreator.getInstance(OsgiCreator.java:62)
    com.arisglobal.aglite.dwr.OsgiCreator.getType(OsgiCreator.java:69)
    org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:97)
    org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:78)
    org.directwebremoting.impl.DwrXmlConfigurator.loadCreate(DwrXmlConfigurator.java:268)
    org.directwebremoting.impl.DwrXmlConfigurator.loadAllows(DwrXmlConfigurator.java:218)
    org.directwebremoting.impl.DwrXmlConfigurator.configure(DwrXmlConfigurator.java:164)
    com.arisglobal.aglite.dwr.DynamicConfigurator.configure(DynamicConfigurator.java:91)
    com.arisglobal.aglite.dwr.DynamicConfigurator.configure(DynamicConfigurator.java:186)
    com.arisglobal.aglite.osgi.OSGiController.startConfigurators(OSGiController.java:170)
    com.arisglobal.aglite.osgi.OSGiController.initBundle(OSGiController.java:129)
    com.arisglobal.aglite.osgi.OSGiController.access$2(OSGiController.java:119)
    com.arisglobal.aglite.osgi.OSGiController$BundleInitTask.run(OSGiController.java:233)
    java.lang.Thread.run(Thread.java:595)
    The stack shows timed waiting, however I observed that it is indefinite. Should this be logged as bug against spring dm?

    Regards,
    Shashi
    Last edited by shashi; May 24th, 2010, 04:14 AM.

  • #2
    Hi,

    I have another observation to share. The task to get the service is not really indefinite, however there were too many services we have in our spring context. Hence for each service it waits for 5 minutes and hence it appears as if it is hung.

    I think I will have to put a timed waiting for this configuration to come up before notifying the error than spring context doing that.

    Thanks,
    Shashi

    Comment

    Working...
    X