【问题标题】:Application stopped working on Liberty 17.0.0.4 (works on 17.0.0.3)应用程序停止在 Liberty 17.0.0.4 上运行(适用于 17.0.0.3)
【发布时间】:2018-01-05 15:30:23
【问题描述】:

我有一个 Java EE 7 应用程序,可以在 Liberty 17.0.0.3 上完美运行 - 无论是在本地还是在 IBM Cloud 上运行时。

但是当我尝试在 17.0.0.4 上应用相同的应用程序时,我收到如下所示的错误。我在发行说明中看不到任何关于此问题的信息,因此欢迎提出任何建议。

谢谢..

[1/5/18 15:50:10:366 CET] 0000001a com.ibm.ejs.csi.EJBApplicationMetaData                       E CNTR0190E: The APIUserManager startup singleton session bean in the wfs-ejb-1.0.0-SNAPSHOT.jar module failed initialization with exception:
javax.ejb.NoSuchEJBException: An error occurred during initialization of singleton session bean wfs-ear#wfs-ejb-1.0.0-SNAPSHOT.jar#APIUserManager, resulting in the discarding of the singleton instance.; nested exception is: javax.ejb.EJBException: See nested exception; nested exception is: javax.persistence.PersistenceException: Exception [EclipseLink-23004] (Eclipse Persistence Services - 2.6.5.WAS-v20171031-22b68cc): org.eclipse.persistence.exceptions.TransactionException
Exception Description: Error obtaining the Transaction Manager
Internal Exception: java.lang.ClassNotFoundException: com.ibm.tx.jta.TransactionManagerFactory cannot be found by com.ibm.websphere.appserver.thirdparty.eclipselink_1.0.19.201712061545
        at com.ibm.ejs.container.util.ExceptionUtil.NoSuchEJBException(ExceptionUtil.java:497)
        at com.ibm.ejs.container.EJSHome.createSingletonBeanO(EJSHome.java:3754)
        at com.ibm.ejs.csi.EJBApplicationMetaData.createStartupBeans(EJBApplicationMetaData.java:958)
        at com.ibm.ejs.csi.EJBApplicationMetaData.startedModule(EJBApplicationMetaData.java:679)
        at com.ibm.ws.ejbcontainer.osgi.internal.EJBRuntimeImpl.start(EJBRuntimeImpl.java:970)
        at com.ibm.ws.ejbcontainer.osgi.internal.EJBModuleRuntimeContainerImpl.startModule(EJBModuleRuntimeContainerImpl.java:145)
        at com.ibm.ws.app.manager.module.internal.ModuleHandlerBase.deployModule(ModuleHandlerBase.java:99)
        at com.ibm.ws.app.manager.module.internal.DeployedModuleInfoImpl.installModule(DeployedModuleInfoImpl.java:49)
        at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployModules(DeployedAppInfoBase.java:426)
        at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployApp(DeployedAppInfoBase.java:412)
        at com.ibm.ws.app.manager.ear.internal.EARApplicationHandlerImpl.install(EARApplicationHandlerImpl.java:76)
        at com.ibm.ws.app.manager.internal.statemachine.StartAction.execute(StartAction.java:140)
        at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.enterState(ApplicationStateMachineImpl.java:1258)
        at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.performAction(ApplicationStateMachineImpl.java:1106)
        at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.run(ApplicationStateMachineImpl.java:881)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.ejb.EJBException: See nested exception; nested exception is: javax.persistence.PersistenceException: Exception [EclipseLink-23004] (Eclipse Persistence Services - 2.6.5.WAS-v20171031-22b68cc): org.eclipse.persistence.exceptions.TransactionException
Exception Description: Error obtaining the Transaction Manager
Internal Exception: java.lang.ClassNotFoundException: com.ibm.tx.jta.TransactionManagerFactory cannot be found by com.ibm.websphere.appserver.thirdparty.eclipselink_1.0.19.201712061545
        at com.ibm.ejs.container.util.ExceptionUtil.EJBException(ExceptionUtil.java:460)
        at com.ibm.ejs.container.util.ExceptionUtil.EJBException(ExceptionUtil.java:336)
        at com.ibm.ejs.container.BusinessExceptionMappingStrategy.mapException(BusinessExceptionMappingStrategy.java:347)
        at com.ibm.ejs.container.BusinessExceptionMappingStrategy.setUncheckedException(BusinessExceptionMappingStrategy.java:519)
        at com.ibm.ejs.container.EJSDeployedSupport.setUncheckedLocalException(EJSDeployedSupport.java:467)
        at com.ibm.ejs.container.SingletonBeanO.callTransactionalLifecycleInterceptors(SingletonBeanO.java:239)
        at com.ibm.ejs.container.SingletonBeanO.initialize(SingletonBeanO.java:329)
        at com.ibm.ejs.container.BeanOFactory.create(BeanOFactory.java:103)
        at com.ibm.ejs.container.EJSHome.createSingletonBeanO(EJSHome.java:3740)
        ... 16 more
Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-23004] (Eclipse Persistence Services - 2.6.5.WAS-v20171031-22b68cc): org.eclipse.persistence.exceptions.TransactionException
Exception Description: Error obtaining the Transaction Manager
Internal Exception: java.lang.ClassNotFoundException: com.ibm.tx.jta.TransactionManagerFactory cannot be found by com.ibm.websphere.appserver.thirdparty.eclipselink_1.0.19.201712061545
        at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:839)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:207)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:307)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:337)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:318)
        at com.ibm.ws.jpa.container.v21.internal.JPA21Runtime.createEntityManagerInstance(JPA21Runtime.java:110)
        at com.ibm.ws.jpa.management.JPAEMPool.getEntityManager(JPAEMPool.java:155)
        at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATxEntityManager.java:254)
        at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATxEntityManager.java:164)
        at com.ibm.ws.jpa.management.JPAEntityManager.createNamedQuery(JPAEntityManager.java:586)
        at com.navticon.sai.ejb.APIUserManager.reload(APIUserManager.java:83)
        at com.navticon.sai.ejb.APIUserManager.postConstruct(APIUserManager.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:205)
        at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:642)
        at com.ibm.ws.cdi.ejb.impl.InterceptorChain.proceed(InterceptorChain.java:119)
        at com.ibm.ws.cdi.ejb.impl.EJBCDIInterceptorWrapper.invokeInterceptors(EJBCDIInterceptorWrapper.java:131)
        at com.ibm.ws.cdi.ejb.impl.EJBCDIInterceptorWrapper.postConstruct(EJBCDIInterceptorWrapper.java:67)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:200)
        at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:631)
        at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)
        at com.ibm.ws.cdi.ejb.interceptor.WeldSessionBeanInterceptorWrapper.aroundInvoke(WeldSessionBeanInterceptorWrapper.java:58)
        at com.ibm.ws.cdi.ejb.interceptor.WeldSessionBeanInterceptorWrapper.postConstruct(WeldSessionBeanInterceptorWrapper.java:67)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:200)
        at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:631)
        at com.ibm.ejs.container.interceptors.InvocationContextImpl.doLifeCycle(InvocationContextImpl.java:335)
        at com.ibm.ejs.container.SingletonBeanO.callTransactionalLifecycleInterceptors(SingletonBeanO.java:236)
        ... 19 more
Caused by: Exception [EclipseLink-23004] (Eclipse Persistence Services - 2.6.5.WAS-v20171031-22b68cc): org.eclipse.persistence.exceptions.TransactionException
Exception Description: Error obtaining the Transaction Manager
Internal Exception: java.lang.ClassNotFoundException: com.ibm.tx.jta.TransactionManagerFactory cannot be found by com.ibm.websphere.appserver.thirdparty.eclipselink_1.0.19.201712061545
        at org.eclipse.persistence.exceptions.TransactionException.errorObtainingTransactionManager(TransactionException.java:125)
        at org.eclipse.persistence.transaction.JTATransactionController.<init>(JTATransactionController.java:69)
        at org.eclipse.persistence.transaction.was.WebSphereTransactionController.<init>(WebSphereTransactionController.java:46)
        at org.eclipse.persistence.transaction.was.WebSphereLibertyTransactionController.<init>(WebSphereLibertyTransactionController.java:17)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.Class.newInstance(Class.java:442)
        at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.newInstanceFromClass(PrivilegedAccessHelper.java:517)
        at org.eclipse.persistence.platform.server.ServerPlatformBase.initializeExternalTransactionController(ServerPlatformBase.java:309)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.preConnectDatasource(DatabaseSessionImpl.java:805)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:763)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:253)
        at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:755)
        ... 56 more
Caused by: java.lang.ClassNotFoundException: com.ibm.tx.jta.TransactionManagerFactory cannot be found by com.ibm.websphere.appserver.thirdparty.eclipselink_1.0.19.201712061545
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(PrivilegedAccessHelper.java:151)
        at org.eclipse.persistence.transaction.was.WebSphereTransactionController.acquireTransactionManager(WebSphereTransactionController.java:84)
        at org.eclipse.persistence.transaction.JTATransactionController.<init>(JTATransactionController.java:67)
        ... 69 more

【问题讨论】:

  • 嗨@danishrulez。我们正在研究这一点,因为这是我们的 FAT 应该很好地行使的一种非常常见的途径。如果您有 IBM 支持合同,请打开 PMR;如果您可以提供日志和其他材料来重现 PMR 的问题,那将非常有帮助。
  • 我刚刚从 wasdev 网站安装了 17.0.0.4 liberty webprofile,安装了一个测试应用程序,它启动并运行正常。您能否详细说明您的环境(平台、JDK、启用的功能等)?
  • 这很标准。我的版本也是从 wasdev 下载的。
  • java.version = 1.8.0_151 - java.runtime = Java(TM) SE 运行时环境 (8.0.5.6 - pxa6480sr5fp6-20171124_02(SR5 FP6)) - os = Linux (4.14.6-1 -默认;amd64) (en_DK)

标签: java eclipselink websphere-liberty jpa-2.1


【解决方案1】:

当我们安装版本 17.0.0.4 时,它原来是一个没有被完全删除的工作区 - 一个正在运行的进程锁定了该目录。

现在 17.0.0.4 上一切似乎都运行顺利。

【讨论】:

  • 很高兴听到它被清除了!享受使用 Liberty!
猜你喜欢
  • 1970-01-01
  • 2018-10-14
  • 2018-09-28
  • 2015-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
相关资源
最近更新 更多