<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.11" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: A Bridge Too Far</title>
	<link>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/</link>
	<description>The voice of SpringSource</description>
	<pubDate>Thu, 28 Aug 2008 16:39:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.11</generator>

	<item>
		<title>by: Krishnadas</title>
		<link>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-32185</link>
		<pubDate>Wed, 04 Jul 2007 14:08:44 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-32185</guid>
					<description>Hi Rob Harrop,

         i am getting a class cast exception.

here is senario....
i have an interface OMSApplicationController
public interface OMSApplicationController {
   public String getName();
   public void setName(String name);
   public void init() throws OMSApplicationControllerException;
   public void start() throws OMSApplicationControllerException;
   public void stop()throws OMSApplicationControllerException;
   public void processRequest(Object request);
}

and i am implementing this interface as one of my bean(Spring).

i am calling this bean from a message driven bean(TestTransactionApplicationController) like 
 testTransactionApplicationController = (TestTransactionApplicationController) getBeanFactory().getBean("testTransactionApplicationController");   

when i annotate(@Transactional) any of the function in this bean   
i get classcastexception error is given below


java.lang.ClassCastException: $Proxy161
        at Listener.TestTransactionMsgListenerBean.onEjbCreate(TestTransactionMsgListenerBean.java:64)
        at org.springframework.ejb.support.AbstractMessageDrivenBean.ejbCreate(AbstractMessageDrivenBean.java:79)
        at Listener.TestTransactionMsgListenerBean.ejbCreate(TestTransactionMsgListenerBean.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.bea.core.repackaged.springframework.jee.inject.Jsr250Metadata.invokeLifecycleMethod(Jsr250Metadata.java:325)
        at com.bea.core.repackaged.springframework.jee.inject.Jsr250Metadata.invokeLifecycleMethod(Jsr250Metadata.java:319)
        at com.bea.core.repackaged.springframework.jee.inject.Jsr250Metadata.invokeLifecycleMethods(Jsr250Metadata.java:313)
        at com.bea.core.repackaged.springframework.jee.intercept.InterceptionMetadata.invokeLifecycleMethods(InterceptionMeta
data.java:592)
        at weblogic.ejb.container.injection.EjbProxyMetadata.invokeLifecycleMethods(EjbProxyMetadata.java:160)
        at com.bea.core.repackaged.springframework.jee.intercept.InterceptionMetadata$AdvisorChainProxyControl.invokeLifecycl
eMethod(InterceptionMetadata.java:544)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductio
nInterceptor.java:104)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocatio
n.java:176)
        at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
        at $Proxy158.invokeLifecycleMethod(Unknown Source)
        at weblogic.ejb.container.injection.EjbComponentCreatorImpl.invokePostConstruct(EjbComponentCreatorImpl.java:147)
        at weblogic.ejb.container.injection.EjbComponentCreatorImpl.getBean(EjbComponentCreatorImpl.java:79)
        at weblogic.ejb.container.manager.BaseEJBManager.createNewBeanInstance(BaseEJBManager.java:216)
        at weblogic.ejb.container.manager.BaseEJBManager.allocateBean(BaseEJBManager.java:233)
        at weblogic.ejb.container.manager.MessageDrivenManager.createBean(MessageDrivenManager.java:286)
        at weblogic.ejb.container.pool.MessageDrivenPool.createBean(MessageDrivenPool.java:165)
        at weblogic.ejb.container.pool.Pool.createInitialBeans(Pool.java:295)
        at weblogic.ejb.container.manager.MessageDrivenManager.start(MessageDrivenManager.java:571)
        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.mdManagerStart(MessageDrivenBeanInfoImpl.java:1140)
        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.deployMessageDrivenBeans(MessageDrivenBeanInfoImpl.java:
1092)
        at weblogic.ejb.container.deployer.EJBDeployer.deployMessageDrivenBeans(EJBDeployer.java:1676)
        at weblogic.ejb.container.deployer.EJBDeployer.start(EJBDeployer.java:1496)
        at weblogic.ejb.container.deployer.EJBModule.start(EJBModule.java:513)
        at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
        at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)
        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816)
        at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1223)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:434)
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentRecei
verCallbackDeliverer.java:181)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCal
lbackDeliverer.java:12)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallback
Deliverer.java:67)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)</description>
		<content:encoded><![CDATA[<p>Hi Rob Harrop,</p>
<p>         i am getting a class cast exception.</p>
<p>here is senario&#8230;.<br />
i have an interface OMSApplicationController<br />
public interface OMSApplicationController {<br />
   public String getName();<br />
   public void setName(String name);<br />
   public void init() throws OMSApplicationControllerException;<br />
   public void start() throws OMSApplicationControllerException;<br />
   public void stop()throws OMSApplicationControllerException;<br />
   public void processRequest(Object request);<br />
}</p>
<p>and i am implementing this interface as one of my bean(Spring).</p>
<p>i am calling this bean from a message driven bean(TestTransactionApplicationController) like<br />
 testTransactionApplicationController = (TestTransactionApplicationController) getBeanFactory().getBean(&#034;testTransactionApplicationController&#034;);   </p>
<p>when i annotate(@Transactional) any of the function in this bean<br />
i get classcastexception error is given below</p>
<p>java.lang.ClassCastException: $Proxy161<br />
        at Listener.TestTransactionMsgListenerBean.onEjbCreate(TestTransactionMsgListenerBean.java:64)<br />
        at org.springframework.ejb.support.AbstractMessageDrivenBean.ejbCreate(AbstractMessageDrivenBean.java:79)<br />
        at Listener.TestTransactionMsgListenerBean.ejbCreate(TestTransactionMsgListenerBean.java:55)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:585)<br />
        at com.bea.core.repackaged.springframework.jee.inject.Jsr250Metadata.invokeLifecycleMethod(Jsr250Metadata.java:325)<br />
        at com.bea.core.repackaged.springframework.jee.inject.Jsr250Metadata.invokeLifecycleMethod(Jsr250Metadata.java:319)<br />
        at com.bea.core.repackaged.springframework.jee.inject.Jsr250Metadata.invokeLifecycleMethods(Jsr250Metadata.java:313)<br />
        at com.bea.core.repackaged.springframework.jee.intercept.InterceptionMetadata.invokeLifecycleMethods(InterceptionMeta<br />
data.java:592)<br />
        at weblogic.ejb.container.injection.EjbProxyMetadata.invokeLifecycleMethods(EjbProxyMetadata.java:160)<br />
        at com.bea.core.repackaged.springframework.jee.intercept.InterceptionMetadata$AdvisorChainProxyControl.invokeLifecycl<br />
eMethod(InterceptionMetadata.java:544)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:585)<br />
        at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)<br />
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductio<br />
nInterceptor.java:104)<br />
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocatio<br />
n.java:176)<br />
        at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)<br />
        at $Proxy158.invokeLifecycleMethod(Unknown Source)<br />
        at weblogic.ejb.container.injection.EjbComponentCreatorImpl.invokePostConstruct(EjbComponentCreatorImpl.java:147)<br />
        at weblogic.ejb.container.injection.EjbComponentCreatorImpl.getBean(EjbComponentCreatorImpl.java:79)<br />
        at weblogic.ejb.container.manager.BaseEJBManager.createNewBeanInstance(BaseEJBManager.java:216)<br />
        at weblogic.ejb.container.manager.BaseEJBManager.allocateBean(BaseEJBManager.java:233)<br />
        at weblogic.ejb.container.manager.MessageDrivenManager.createBean(MessageDrivenManager.java:286)<br />
        at weblogic.ejb.container.pool.MessageDrivenPool.createBean(MessageDrivenPool.java:165)<br />
        at weblogic.ejb.container.pool.Pool.createInitialBeans(Pool.java:295)<br />
        at weblogic.ejb.container.manager.MessageDrivenManager.start(MessageDrivenManager.java:571)<br />
        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.mdManagerStart(MessageDrivenBeanInfoImpl.java:1140)<br />
        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.deployMessageDrivenBeans(MessageDrivenBeanInfoImpl.java:<br />
1092)<br />
        at weblogic.ejb.container.deployer.EJBDeployer.deployMessageDrivenBeans(EJBDeployer.java:1676)<br />
        at weblogic.ejb.container.deployer.EJBDeployer.start(EJBDeployer.java:1496)<br />
        at weblogic.ejb.container.deployer.EJBModule.start(EJBModule.java:513)<br />
        at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)<br />
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)<br />
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)<br />
        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)<br />
        at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)<br />
        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)<br />
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)<br />
        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)<br />
        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)<br />
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)<br />
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)<br />
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)<br />
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)<br />
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)<br />
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816)<br />
        at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1223)<br />
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:434)<br />
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)<br />
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentRecei<br />
verCallbackDeliverer.java:181)<br />
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCal<br />
lbackDeliverer.java:12)<br />
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallback<br />
Deliverer.java:67)<br />
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)<br />
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)<br />
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Marc</title>
		<link>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-18285</link>
		<pubDate>Wed, 11 Apr 2007 07:18:24 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-18285</guid>
					<description>Informtaive article, particularly as am having some issues with BridgeMethodResolver when resolvibg methods with Java 5.0 generics. I have posted a full explanation on Spring Forum (http://forum.springframework.org/showthread.php?t=37218) and would be most helpful if you take a look.
Thanks.</description>
		<content:encoded><![CDATA[<p>Informtaive article, particularly as am having some issues with BridgeMethodResolver when resolvibg methods with Java 5.0 generics. I have posted a full explanation on Spring Forum (http://forum.springframework.org/showthread.php?t=37218) and would be most helpful if you take a look.<br />
Thanks.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Marc</title>
		<link>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-18158</link>
		<pubDate>Tue, 10 Apr 2007 09:17:46 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-18158</guid>
					<description>Very informative, particularly as I have recently had to look at BridgeMethodResolver due to an exception occuring within our Spring enabled application.
If possible could you have a look at the forum entry I have posted, and advise if this is one of the "complex cases that we have not yet accounted for" or just an error of usage by myself.
http://forum.springframework.org/showthread.php?t=37218</description>
		<content:encoded><![CDATA[<p>Very informative, particularly as I have recently had to look at BridgeMethodResolver due to an exception occuring within our Spring enabled application.<br />
If possible could you have a look at the forum entry I have posted, and advise if this is one of the &#034;complex cases that we have not yet accounted for&#034; or just an error of usage by myself.<br />
<a href="http://forum.springframework.org/showthread.php?t=37218" rel="nofollow">http://forum.springframework.org/showthread.php?t=37218</a>
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Erwin Vervaet</title>
		<link>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-8482</link>
		<pubDate>Wed, 17 Jan 2007 08:33:25 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2007/01/16/a-bridge-too-far/#comment-8482</guid>
					<description>Nice article Rob!</description>
		<content:encoded><![CDATA[<p>Nice article Rob!
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
