0

I have a Java EE 7 application that works flawlessly on Liberty 17.0.0.3 - both locally and when running on IBM Cloud.

But when I try to apply the same application on 17.0.0.4, I get the following error shown below. I see nothing in the release notes, that sheds any light on this problem, so any suggestions would be welcome.

Thanks..

[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
Will Dazey
  • 253
  • 2
  • 13
  • Hi @danishrulez. We are looking into this, as this is a very common pathway which our FATs should have exercised well. If you have an IBM support contract, please open a PMR; if you can provide logs and other materials to reproduce the problem with the PMR that would be very helpful. – FyreWyld Jan 05 '18 at 19:44
  • I just installed 17.0.0.4 liberty webprofile from the wasdev website, installed a test application, and it started and ran okay. Can you elaborate on your environment a bit more (platform, JDK, enabled features, etc.)? – FyreWyld Jan 05 '18 at 20:22
  • It's pretty much standard. My version is also downloaded from wasdev. – danishrulez Jan 08 '18 at 06:30
  • java.version = 1.8.0_151 - java.runtime = Java(TM) SE Runtime Environment (8.0.5.6 - pxa6480sr5fp6-20171124_02(SR5 FP6)) - os = Linux (4.14.6-1-default; amd64) (en_DK) – danishrulez Jan 08 '18 at 06:33

1 Answers1

1

It turned out to be a workarea that didn't get completely deleted when we installed version 17.0.0.4 - a running process locked the directory.

Everything seems to run smoothly on 17.0.0.4 now.