WebSphere 9 - перезапустить приложение
После успешной установки и использования одного из наших веб-приложений я попытался перезапустить приложение (с помощью консоли Integrated Solutions Console), но результат оказался не таким, как я ожидал. Файл SystemOut.log был немедленно заполнен исключениями. Я просто выделю самые актуальные:
java.lang.ClassCastException: pt.sibs.epms.persistence.entity.EpmsDebugParameters incompatible with pt.sibs.epms.persistence.entity.EpmsDebugParameters
at pt.sibs.epms.ecc.ApplicationManager.init(ApplicationManager.java:100) ~[classes/:na]
java.lang.IllegalArgumentException: Object: x.EccAudit[ eccAuditPK=x.EccAuditPK[ eventUsername=system, eventTimestamp=Thu Jul 14 17:20:04 BST 2016, eventModule=ECC ] ] is not a known Entity type.
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4229) ~[com.ibm.ws.jpa.eclipselink.jar:na]
CWOWB2001E: A POST_CONSTRUCT lifecycle inteceptor threw an exception: org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke public void pt.sibs.epms.ecc.ThreadPoolManager.init() on pt.sibs.epms.ecc.ThreadPoolManager@7878f48b
at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:100)
CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "init" on bean "BeanId(EpmsControlCenter-v2#EpmsControlCenter.war#NotificationEventGenerator, null)". Exception data: org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke public void pt.sibs.epms.ecc.ThreadPoolManager.init() on pt.sibs.epms.ecc.ThreadPoolManager@7878f48b
at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:100)
CNTR0019E: EJB threw an unexpected (non-declared) exception during invocation of method "fireScheduledEvent". Exception data: javax.ejb.NoSuchEJBException: An error occurred during initialization of singleton session bean EpmsControlCenter-v2#EpmsControlCenter.war#NotificationEventGenerator, resulting in the discarding of the singleton instance.; nested exception is: javax.ejb.EJBException: See nested exception; nested exception is: org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke public void pt.sibs.epms.ecc.ThreadPoolManager.init() on pt.sibs.epms.ecc.ThreadPoolManager@7878f48b
at com.ibm.ejs.container.util.ExceptionUtil.NoSuchEJBException(ExceptionUtil.java:540)
SRVE0293E: [Servlet Error]-[Faces Servlet]: java.lang.IllegalArgumentException: Unknown Entity bean class: class pt.sibs.epms.persistence.entity.EpmsOtherSystemParameters, please verify that this class has been marked with the @Entity annotation.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:718)
Приложение больше не работает, и мне нужно перезапустить сервер, чтобы он снова заработал. Не круто.
Есть идеи?
РЕДАКТИРОВАТЬ #1
Похоже, это происходит только после передислокации.
1 ответ
После повторного развертывания необходимо перезапустить приложение, так как CDI не поддерживает сценарий динамического обновления.