Announcement Announcement Module
Collapse
No announcement yet.
websphere 8 [Xlint:invalidAbsoluteTypeName] Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • websphere 8 [Xlint:invalidAbsoluteTypeName]

    I've been banging my head against this issue for a couple days now.

    I'm working on a web application that uses Spring and we just upgraded from Spring 2.5.5 to 3.1.0. We're encountering some kind of error related to AOP on Websphere only, not on Weblogic and not on Tomcat.

    The exception happens during Spring ApplicationContext initialization and results in an exception like this:

    Code:
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'Hipaa5010Processor' defined in class path resource [lassen_objects_config.xml]: Cannot resolve reference to bean 'SecurityService' while setting bean property 'securityService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SecurityService' defined in class path resource [lassen_objects_config.xml]: 
    ...
    Cannot resolve reference to bean 'careRadiusReportRequestQueue' while setting bean property 'reportRequestQueue'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'careRadiusReportRequestQueue': Post-processing of the FactoryBean's object failed; nested exception is java.lang.IllegalArgumentException: warning no match for this type name: com.landacorp.lib.business.StatelessObject [Xlint:invalidAbsoluteTypeName]
    	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
    ...
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'careRadiusReportRequestQueue': Post-processing of the FactoryBean's object failed; nested exception is java.lang.IllegalArgumentException: warning no match for this type name: com.landacorp.lib.business.StatelessObject [Xlint:invalidAbsoluteTypeName]
    	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:165)
    	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1441)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:305)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
    	... 190 more
    Caused by: java.lang.IllegalArgumentException: warning no match for this type name: com.landacorp.lib.business.StatelessObject [Xlint:invalidAbsoluteTypeName]
    	at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
    	at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:207)
    	at org.springframework.aop.aspectj.AspectJExpressionPointcut.getFallbackPointcutExpression(AspectJExpressionPointcut.java:358)
    	at org.springframework.aop.aspectj.AspectJExpressionPointcut.getShadowMatch(AspectJExpressionPointcut.java:409)
    ...

    The careRadiusReportRequestQueue is a jndi-lookup bean for a jms queue:

    Code:
    <jee:jndi-lookup id="careRadiusReportRequestQueue"
     		jndi-name="java:comp/env/com/landacorp/jms/dest/CareRadiusReportRequestQueue" />
    I don't think the error is even related to this bean, it seems to be coming from an aop pointcut, and we only have place in our spring config files where that's used:

    Code:
    <aop:config>
    		<aop:aspect id="jcsPreAspect" ref="jcsPreAdvice" >
    			<aop:pointcut id="jcsPreAdvisor" expression="target(com.landacorp.lib.business.StatelessObject)|| target(com.landacorp.lib.business.TransactionalObject) || target(com.landacorp.lassen.userdefinedwindow.RunUserDefinedWindow) || target(com.landacorp.lassen.clinicaldata.ClinicalMetricsManagementObject)" />
    			<aop:around pointcut-ref="jcsPreAdvisor" method="invoke" />
    		</aop:aspect>
    		<aop:aspect id="jcsPostAspect" ref="jcsPostAdvice" >
    			<aop:pointcut id="jcsPostAdvisor" expression="target(com.landacorp.lib.business.StatelessObject) || target(com.landacorp.lib.business.TransactionalObject) || target(com.landacorp.lib.business.TransactionService) || target(com.landacorp.lassen.userdefinedwindow.RunUserDefinedWindow) || target(com.landacorp.lassen.clinicaldata.ClinicalMetricsManagementObject)" />
    			<aop:around pointcut-ref="jcsPostAdvisor" method="invoke" />
    		</aop:aspect>
    	</aop:config>
    This configuration seems valid, to me, and this is further support by the lack of a problem on Weblogic and Tomcat platforms. I've searched various forums for any similar problems and have tried the following things:

    1. made sure that all jars (including those containing com.landacorp.com.lib.business.StatelessObject and all spring and aspectj code) are at the WAR/WEB-INF/lib level, since there's apparently some problem with packaging those at the ear level - no change.
    2. defined a shared library in Websphere for aspectjrt.jar, with and without isolated classloader checked, and referenced that in my application deployment - no change

    Anyone have any ideas?

  • #2
    We face exactly the same problems after upgrading from Spring 3.0.6 to 3.1.

    Our application works as a set of OSGi bundles in a Eclipse Virgo Tomcat instance (version 3.0.2, previously SpringDM). After we updated to Spring 3.1 it seems that AOP tries to proxy beans which haven't an AOP configuration at all. We never had those problems with Spring 3.0.x.

    SLF4J: See http://www.slf4j.org/codes.html#no_static_mdc_binder for further details.
    Exception in thread "SpringOsgiExtenderThread-32" org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sales.priceFindingService' defined in OSGi resource[classpath:com/bechtle/ecom/mesosphere/sales/impl/components.xml|bnd.id=29|bnd.sym=com.bechtle.ecom. mesosphere.sales.impl]: Cannot resolve reference to bean 'sales.jaxb2Marshaller' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sales.jaxb2Marshaller' defined in URL [bundleentry://29.fwk657662363/META-INF/spring/bundle.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: warning no match for this type name: com.bechtle.ecom.core.messaging.Consumer [Xlint:invalidAbsoluteTypeName]
    at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveReference(BeanDefinitio nValueResolver.java:328)
    at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:106)
    at org.springframework.beans.factory.support.Construc torResolver.resolveConstructorArguments(Constructo rResolver.java:630)
    at org.springframework.beans.factory.support.Construc torResolver.autowireConstructor(ConstructorResolve r.java:148)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.autowireConstructor(Abs tractAutowireCapableBeanFactory.java:1035)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBeanInstance(Abst ractAutowireCapableBeanFactory.java:939)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.doCreateBean(AbstractAu towireCapableBeanFactory.java:485)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.Abstract BeanFactory$1.getObject(AbstractBeanFactory.java:2 94)
    at org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry.getSingleton(DefaultSingleton BeanRegistry.java:225)
    at org.springframework.beans.factory.support.Abstract BeanFactory.doGetBean(AbstractBeanFactory.java:291 )
    at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:585)
    at org.springframework.context.support.AbstractApplic ationContext.finishBeanFactoryInitialization(Abstr actApplicationContext.java:913)
    at org.springframework.osgi.context.support.AbstractD elegatedExecutionApplicationContext.access$1600(Ab stractDelegatedExecutionApplicationContext.java:69 )
    at org.springframework.osgi.context.support.AbstractD elegatedExecutionApplicationContext$4.run(Abstract DelegatedExecutionApplicationContext.java:355)
    at org.springframework.osgi.util.internal.PrivilegedU tils.executeWithCustomTCCL(PrivilegedUtils.java:85 )
    at org.springframework.osgi.context.support.AbstractD elegatedExecutionApplicationContext.completeRefres h(AbstractDelegatedExecutionApplicationContext.jav a:320)
    at org.springframework.osgi.extender.internal.depende ncies.startup.DependencyWaiterApplicationContextEx ecutor$CompleteRefreshTask.run(DependencyWaiterApp licationContextExecutor.java:132)
    at java.lang.Thread.run(Thread.java:680)
    Caused by: org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sales.jaxb2Marshaller' defined in URL [bundleentry://29.fwk657662363/META-INF/spring/bundle.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: warning no match for this type name: com.bechtle.ecom.core.messaging.Consumer [Xlint:invalidAbsoluteTypeName]
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.doCreateBean(AbstractAu towireCapableBeanFactory.java:527)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.Abstract BeanFactory$1.getObject(AbstractBeanFactory.java:2 94)
    at org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry.getSingleton(DefaultSingleton BeanRegistry.java:225)
    at org.springframework.beans.factory.support.Abstract BeanFactory.doGetBean(AbstractBeanFactory.java:291 )
    at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveReference(BeanDefinitio nValueResolver.java:322)
    ... 19 more
    Caused by: java.lang.IllegalArgumentException: warning no match for this type name: com.bechtle.ecom.core.messaging.Consumer [Xlint:invalidAbsoluteTypeName]
    at org.aspectj.weaver.tools.PointcutParser.parsePoint cutExpression(PointcutParser.java:302)
    at org.springframework.aop.aspectj.AspectJExpressionP ointcut.buildPointcutExpression(AspectJExpressionP ointcut.java:207)
    at org.springframework.aop.aspectj.AspectJExpressionP ointcut.getFallbackPointcutExpression(AspectJExpre ssionPointcut.java:358)
    at org.springframework.aop.aspectj.AspectJExpressionP ointcut.getShadowMatch(AspectJExpressionPointcut.j ava:409)
    at org.springframework.aop.aspectj.AspectJExpressionP ointcut.matches(AspectJExpressionPointcut.java:272 )
    at org.springframework.aop.support.MethodMatchers.mat ches(MethodMatchers.java:94)
    at org.springframework.aop.support.MethodMatchers$Int ersectionMethodMatcher.matches(MethodMatchers.java :218)
    at org.springframework.aop.support.AopUtils.canApply( AopUtils.java:225)
    at org.springframework.aop.support.AopUtils.canApply( AopUtils.java:263)
    at org.springframework.aop.support.AopUtils.findAdvis orsThatCanApply(AopUtils.java:295)
    at org.springframework.aop.framework.autoproxy.Abstra ctAdvisorAutoProxyCreator.findAdvisorsThatCanApply (AbstractAdvisorAutoProxyCreator.java:117)
    at org.springframework.aop.framework.autoproxy.Abstra ctAdvisorAutoProxyCreator.findEligibleAdvisors(Abs tractAdvisorAutoProxyCreator.java:87)
    at org.springframework.aop.framework.autoproxy.Abstra ctAdvisorAutoProxyCreator.getAdvicesAndAdvisorsFor Bean(AbstractAdvisorAutoProxyCreator.java:68)
    at org.springframework.aop.framework.autoproxy.Abstra ctAutoProxyCreator.wrapIfNecessary(AbstractAutoPro xyCreator.java:359)
    at org.springframework.aop.framework.autoproxy.Abstra ctAutoProxyCreator.postProcessAfterInitialization( AbstractAutoProxyCreator.java:322)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyBeanPostProcessors AfterInitialization(AbstractAutowireCapableBeanFac tory.java:407)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.initializeBean(Abstract AutowireCapableBeanFactory.java:1461)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.doCreateBean(AbstractAu towireCapableBeanFactory.java:519)

    Comment


    • #3
      Same problem with Websphere 6.1

      Hi,

      I have the same problem by updating Spring 3.0.6 to 3.1.0. The code works fine in JBoss 4.0. But when I deployed the application to the integration environment powered by the Websphere Application Server 6.1, I've got the same error.

      Code:
      <aop:pointcut id="transactionOperationRetraite"
      	expression=" target(fr.generali.gael.common.service.ITransactionalService)" />
      Code:
      java.lang.IllegalArgumentException: warning no match for this type name: fr.generali.gael.common.service.ITransactionalService [Xlint:invalidAbsoluteTypeName]
      The AspectJ version has not changed : 1.6.9. Maybe a bug in 3.1.0 Spring version with WAS 6.1 support ? I don't find any issues in the SpringSource jira.

      Regards

      Antoine
      Last edited by Elryk; Jan 19th, 2012, 04:44 AM.

      Comment


      • #4
        downgrading to 3.0.7-RELEASE works to correct this problem. I don't find a JIRA issue either, but I don't feel I understand the issue enough to report it.

        Comment

        Working...
        X