繁体   English   中英

EJB java.lang.ClassCastException

[英]EJB java.lang.ClassCastException

我将Eclipse和Glassfish一起用于Java EE的第一步。 我创建了三个Eclipse项目(JPA项目,EJB项目,Web项目)。 我用本地接口TestBeanLocal创建了本地EJB bean TestBean:

@Stateless
@LocalBean
class TestBean implements TestBeanLocal {
  @Override
  public void doSomething(List<JPAEntity> myEntities) {
    for(JPAEntity a : myEntities) {

    }
  }
}

和使用EJB的ManagedBean:

@MangagedBean
public class MyBean {
    @EJB
    private TestBeanLocal testBean;

    @PostConstruct
    private void init() {
       //load JPAEntity from Database
       List<JPAEntity> myEntities = ....
       testBean.doSomething(myEntities);
    }
}

我的问题是我在TestBean的for循环上收到ClassCastException。

java.lang.ClassCastException: us.mypackage.jpa.JPAEntity cannot be cast to us.mypackage.jpa.JPAEntity

我发现了另一个stackoverflow问题,该问题是由于两个不同的类加载器引起的。 我怎样才能解决这个问题? 我可以告诉EJB使用与我的Web项目相同的类加载器吗?

似乎实体jar位于war和ear中尝试从war库中删除实体jar War应该看到ear库文件HTH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM