Deploy an entity bean with EntityBeanDescriptor with remote and remote-home interfaces. Obtain a remote stub via JNDI. Call a business method on the interface, the following stack trace results:
Caused by: java.lang.ClassCastException: $Proxy2
at org.mockejb.MockEjbContext.getEJBLocalHome(MockEjbContext.java:74)
at org.mockejb.BMPFinderHandler.findInCacheOrCreate(BMPFinderHandler.java:107)
at org.mockejb.BMPFinderHandler.intercept(BMPFinderHandler.java:72)
at ...
at org.mockejb.BasicEjbHome.invokeBeanMethod(BasicEjbHome.java:186)
at org.mockejb.BasicEjbHome.invokeBeanMethodWithPrefix(BasicEjbHome.java:230)
at org.mockejb.EntityBeanHome.invokeFinder(EntityBeanHome.java:143)
at org.mockejb.EntityBeanHome.invokeHomeMethod(EntityBeanHome.java:100)
at org.mockejb.BasicEjbHome.invoke(BasicEjbHome.java:106)
at $Proxy2.findByPrimaryKey(Unknown Source)
at com.company.bizlogic.impl.EJBHelper.getTransactionState(EJBHelper.java:128)
BMPFinderHandler.findInCacheOrCreate() always uses the accessor on the MockEjbContext that returns a local stub, but the context may contain a remote, leading to the CCE.