[jboss-jira] [JBoss JIRA] Commented: (AS7-1523) org.springframework.jndi.TypeMismatchNamingException when looking up a bean in JNDI tree if bean is deployed in another ear
Stuart Douglas (JIRA)
jira-events at lists.jboss.org
Sun Aug 14 21:05:02 EDT 2011
[ https://issues.jboss.org/browse/AS7-1523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620964#comment-12620964 ]
Stuart Douglas commented on AS7-1523:
-------------------------------------
This looks like you have the same classes deployed in both archives.
Remove the classes from the archive that does not deploy the EJB's, and instead add a dependency on the other deployment using the Dependencies: section of MANIFEST.MF, as described at https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7
> org.springframework.jndi.TypeMismatchNamingException when looking up a bean in JNDI tree if bean is deployed in another ear
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: AS7-1523
> URL: https://issues.jboss.org/browse/AS7-1523
> Project: Application Server 7
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.0.0.Alpha1
> Environment: Windows 7, jdk 1.6.0_26 JBoss AS7 build (#1499) Spring 2.5.6
> Reporter: Nicolai Ødum
> Assignee: Jason Greene
> Labels: as7, classloading, spring
> Attachments: HelloWorld.ear.zip, HelloWorldEJB2.jar.zip, Source.zip
>
>
> I have a 2 ear applications. One contains a EJB and the other contains a spring application that loads the EJB as a Spring bean like this
> <bean id="tinglysningService" class="org.springframework.jndi.JndiObjectFactoryBean"
> lazy-init="true">
> <property name="expectedType"
> value="com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService" />
> <property name="jndiName"
> value="kerne.ejb.TinglysningServiceBean#com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService">
> </property>
> <property name="lookupOnStartup">
> <value>false</value>
> </property>
> <property name="proxyInterface">
> <value>com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService</value>
> </property>
> </bean>
> When looking up the bean like this
> org.springframework.context.ApplicationContext context;
> ....
> TinglysningService tinglysningService = (TinglysningService) context.getBean("tinglysningService");
> I get the following error
> 09:42:17,635 ERROR [com.csc.etl.sagsportal.beans.forespoerg.tingbogen.DataLoader] (MSC service thread 1-3) JndiObjectTargetSource failed to obtain new target object; nested exception is org.springframework.jndi.TypeMismatchNamingException: Object of type [class com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService$$$view17] available at JNDI location [java:global/kerne/kerne/TinglysningServiceBean] is not assignable to [com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService]: org.springframework.jndi.JndiLookupFailureException: JndiObjectTargetSource failed to obtain new target object; nested exception is org.springframework.jndi.TypeMismatchNamingException: Object of type [class com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService$$$view17] available at JNDI location [java:global/kerne/kerne/TinglysningServiceBean] is not assignable to [com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService]
> at org.springframework.jndi.JndiObjectTargetSource.getTarget(JndiObjectTargetSource.java:138) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:184) [spring-2.5.6.SEC01.jar:]
> at $Proxy127.hentAlleEjerLav(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_26]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_26]
> at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
> at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:77) [spring-2.5.6.SEC01.jar:]
> at com.csc.etl.sagsportal.utils.logging.PerformanceLoggingAspect.log(PerformanceLoggingAspect.java:94) [classes:]
> at com.csc.etl.sagsportal.utils.logging.PerformanceLoggingAspect.doPerformanceLogging(PerformanceLoggingAspect.java:50) [classes:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_26]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_26]
> at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
> at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) [spring-2.5.6.SEC01.jar:]
> at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) [spring-2.5.6.SEC01.jar:]
> at $Proxy128.hentAlleEjerLav(Unknown Source) at com.csc.etl.sagsportal.beans.forespoerg.tingbogen.DataLoader.init(DataLoader.java:40) [classes:]
> at com.csc.etl.sagsportal.servlets.AjaxContentProviderServlet.init(AjaxContentProviderServlet.java:49) [classes:]
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631) [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844) [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)
> at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26]
> at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
> Caused by: org.springframework.jndi.TypeMismatchNamingException: Object of type [class com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService$$$view17] available at JNDI location [java:global/kerne/kerne/TinglysningServiceBean] is not assignable to [com.csc.etl.kerne.serviceinterface.interfaces.TinglysningService]
> at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:180) [spring-2.5.6.SEC01.jar:]
> at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95) [spring-2.5.6.SEC01.jar:]
> at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105) [spring-2.5.6.SEC01.jar:]
> at org.springframework.jndi.JndiObjectTargetSource.getTarget(JndiObjectTargetSource.java:131) [spring-2.5.6.SEC01.jar:]
> ... 36 more
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list