Исключение из класса при сохранении состояния ejb - PullRequest
1 голос
/ 08 февраля 2011

По какой-то странной причине я получаю следующее исключение.

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 {

Может кто-нибудь заметить ошибку, которую я сделал?

1 Ответ

2 голосов
/ 08 февраля 2011

Я предполагаю, что Component.getInstance (...) возвращает внедренный класс.Внедренная реализация не должна относиться к классу вашей реализации, а только к вашему локальному / удаленному интерфейсу.Таким образом, вы можете привести к вашему интерфейсу SystemlogListenerLocal, но не к вашей реализации SystemlogListener.

Причина заключается в реализации вашего AppServer, который может использовать, например, прокси и делегировать методы вашей реальной реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...