有状态ejb上的类强制转换异常

由于一些奇怪的原因,我得到以下异常。
2011-02-08 09:53:30,667 ERROR [STDERR] (QuartzScheduler_Worker-9) java.lang.ClassCastException: org.javassist.tmp.java.lang.Object_$$_javassist_seam_7 cannot be cast to no.kommuneforlaget.fagsystem.saksapp.service.report.SystemlogListener
2011-02-08 09:53:30,668 ERROR [STDERR] (QuartzScheduler_Worker-9)       at no.kommuneforlaget.fagsystem.saksapp.jobs.ESBLogListener.checkESBEvents(ESBLogListener.java:71)
2011-02-08 09:53:30,668 ERROR [STDERR] (QuartzScheduler_Worker-9)       at no.kommuneforlaget.fagsystem.saksapp.jobs.ESBLogListener.scheduler(ESBLogListener.java:119)
2011-02-08 09:53:30,668 ERROR [STDERR] (QuartzScheduler_Worker-9)       at sun.reflect.GeneratedMethodAccessor466.invoke(Unknown Source)
2011-02-08 09:53:30,668 ERROR [STDERR] (QuartzScheduler_Worker-9)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2
我知道它不应该是类转换异常,因为它是正确的类。 代码是:
SystemlogListener systemlogListener = (SystemlogListener) Component.getInstance("systemlogListener", ScopeType.SESSION, true);
而且课程是
@Name("systemlogListener")
@Scope(ScopeType.SESSION)
@AutoCreate
@Stateful
@TransactionManagement(TransactionManagementType.CONTAINER) //default
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public class SystemlogListener implements SystemlogListenerLocal, Serializable {
谁能发现我犯的错误?     
已邀请:
我假设Component.getInstance(...)返回一个注入的类。注入的实现不必是您的实现类,而只是您的本地/远程接口。 因此,您可以转换到您的接口SystemlogListenerLocal,但不能转换为您的实现SystemlogListener。 原因是您的AppServer的实现可以使用例如代理并将方法委托给您的实际实现。     

要回复问题请先登录注册