Exception on job execution (Websphere) - java

I am getting the following exception when I try to execute a query by the entity manager with jpa.
it seems I am with a jta configuration problem, but I am not sure.
I am using quartz with a java ee 5 application and I running in a webpshere server.
E org.hibernate.ejb.AbstractEntityManagerImpl handlePersistenceException Unable to mark for rollback on PersistenceException:
org.hibernate.HibernateException: javax.naming.ConfigurationException: A JNDI operation on a "java:" name cannot be completed because the server runtime is not able to associate the operation's thread with any J2EE application component.
This condition can occur when the JNDI client using the "java:" name is not executed on the thread of a server application request. Make sure that a J2EE application does not execute JNDI operations on "java:" names within static code blocks or in threads created by that J2EE application. Such code does not necessarily run on the thread of a server application request and therefore is not supported by JNDI operations on "java:" names. [Root exception is javax.naming.NameNotFoundException: Name comp/websphere not found in context "java:".]
at
org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter.<init>(WebSphereExtendedJTATransactionLookup.java:188)
at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter.<init>(WebSphereExtendedJTATransactionLookup.java:178)
at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getTransaction(WebSphereExtendedJTATransactionLookup.java:140)
at org.hibernate.ejb.transaction.JoinableCMTTransaction.isTransactionInProgress(JoinableCMTTransaction.java:64)
at org.hibernate.ejb.transaction.JoinableCMTTransaction.tryJoiningTransaction(JoinableCMTTransaction.java:78)
at org.hibernate.ejb.transaction.JoinableCMTTransactionFactory.isTransactionInProgress(JoinableCMTTransactionFactory.java:51)
at org.hibernate.jdbc.JDBCContext.isTransactionInProgress(JDBCContext.java:235)
at org.hibernate.jdbc.JDBCContext.registerSynchronizationIfPossible(JDBCContext.java:200)
at org.hibernate.impl.SessionImpl.checkTransactionSynchStatus(SessionImpl.java:2112)
at org.hibernate.impl.SessionImpl.getSessionFactory(SessionImpl.java:1853)
at org.hibernate.ejb.AbstractEntityManagerImpl.markAsRollback(AbstractEntityManagerImpl.java:1123)
at org.hibernate.ejb.AbstractEntityManagerImpl.handlePersistenceException(AbstractEntityManagerImpl.java:1296)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1390)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1317)
at org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1252)
at org.hibernate.ejb.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:168)
at org.hibernate.ejb.EntityManagerImpl.<init>(EntityManagerImpl.java:84)
at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:112)
at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.invokeProxyMethod(AbstractEntityManagerFactoryBean.java:388)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:541)
at com.sun.proxy.$Proxy521.createEntityManager(Unknown Source)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:285)
at com.sun.proxy.$Proxy524.createQuery(Unknown Source)
at br.com.vr.platpedidos.infrastructure.pedido.persistence.PedidoORMRepositoryImpl.buscarReferencia(PedidoORMRepositoryImpl.java:44)
at br.com.vr.platpedidos.application.pedido.repository.PedidoRepositoryImpl.buscarModalidadeProdutoDoPedido(PedidoRepositoryImpl.java:29)
at br.com.vr.platpedidos.application.pedido.services.PedidoApplicationServiceImpl.obterModalidadeDeProdutoDoPedido(PedidoApplicationServiceImpl.java:42)
at br.com.vr.platpedidos.application.facade.PlatpedidosFacadeImpl.obterModalidadeDeProduto(PlatpedidosFacadeImpl.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)
at br.com.vr.platpedidos.infrastructure.exception.ExceptionLoggingAspect.logException(ExceptionLoggingAspect.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy540.obterModalidadeDeProduto(Unknown Source)
at br.com.vr.platpedidos.orquestracao.infrastructure.PlataformaDePedidosGateway.obterModalidadeDeProduto(PlataformaDePedidosGateway.java:60)
at br.com.vr.platpedidos.orquestracao.application.OrquestracaoApplicationServiceImpl.importarArquivosDePedido(OrquestracaoApplicationServiceImpl.java:40)
at br.com.vr.platpedidos.orquestracao.facade.OrquestracaoFacadeImpl.importarArquivosDePedido(OrquestracaoFacadeImpl.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:257)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

I've just found the answer in the following post:
http://gybas.com/2014/quartz-websphere-spring/

You have detailed answer in the error message and the stack trace:
ConfigurationException: A JNDI operation on a "java:" name cannot be
completed because the server runtime is not able to associate the
operation's thread with any J2EE application component. This
condition can occur when the JNDI client using the "java:" name is not
executed on the thread of a server application request.
And below:
org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Either replace quartz with for example ejbTimers or managedThreads if you are on WebSphere Liberty, or change the JNDI to global name.
Using quartz is not recommended in Java EE applications, since it creates unmanaged threads.

Related

java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper cannot be cast to oracle.jdbc.OracleConnection

I am trying to deploy my application on Tomcat 9 and my application is using eclipselink as a JPA provider. My application is running fine on WebLogic 12 server but after deploying my application on Tomcat 9 it is giving following exception
javax.persistence.PersistenceException: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper
cannot be cast to oracle.jdbc.OracleConnection at
org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:480)
at
com.temp.request.dao.hybrid.PartyRequestSearchDAOImpl.retrieveRequestsByFilter(PartyRequestSearchDAOImpl.java:543)
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
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:338)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at
com.temp.request.util.aspect.TraceLogger.logMethodEntryAndExit(TraceLogger.java:36)
at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498) at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:643)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:632)
at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at
com.temp.request.util.aspect.ExecutionTimeLogger.logMethodExecutionTime(ExecutionTimeLogger.java:37)
at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498) at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:643)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:632)
at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy89.retrieveRequestsByFilter(Unknown Source)
Caused by: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper
cannot be cast to oracle.jdbc.OracleConnection
I have already included accessToUnderlyingConnectionAllowed="true" in my server.xml
My server.xml is as follows
<GlobalNamingResources>
<Resource name="jdbc/DS_RW" auth="Container" type="javax.sql.DataSource"
username="user1" password="pass123" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:#temp.com:1545/service01"
accessToUnderlyingConnectionAllowed="true" />
</GlobalNamingResources>
Whether Tomcat 9 supports Eclipselnik as a JPA provider? If not is there any way to solve this issue?
The problem is that you are using the Oracle9Platform target database platform, which relies on the native Oracle connection but the connection pool you are using is wrapping the connection. EclipseLink uses a ServerPlatform implementation to allow server specific code to unwrap the connection, but there isn't an implementation for Tomcat, so it is defaulting to using the NoServerPlatform which just hands back the connection.
To get this to work and use the Oracle specific database functionality on Tomcat, you will need to create a ServerPlatform implementation similar to https://github.com/ftahmed/eclipselink-server-platform-tomcat/blob/master/src/main/java/org/eclipse/persistence/platform/server/tomcat/TomcatPlatform.java
This code then uses the base class to call connection.getMetaData().getConnection(); on the connection. If this doesn't work, you will have to implement your own unwrap method to access the underlying OracleConnection from your proxy.
You then specify the target server platform class you wish to use via the "eclipselink.target-server" persistence property:
<property name="eclipselink.target-server" value="yourPackage.yourClass"/>

Method of local ejb threw exception

We are migrating our java applications from WAS 7 to WAS 8.5. After logging into one of our application we are calling a local ejb method from controller to get details for an id. The method gets called,it queries the data, but when returning to controller it errors out giving, Method of local EJB threw exception. Would be great if someone could shed some light on the issue. I have checked multiple forums, but couldn't get a proper explanation. Below is the stack trace.
I've mentioned some places as "package name" as it cannot be shared.
javax.ejb.TransactionRolledbackLocalException: ; nested exception is: javax.transaction.SystemException
at com.ibm.tx.jta.impl.TransactionImpl.stage3CommitProcessing(TransactionImpl.java:1251)
at com.ibm.tx.jta.impl.TransactionImpl.processCommit(TransactionImpl.java:1042)
at com.ibm.tx.jta.impl.TransactionImpl.commit(TransactionImpl.java:963)
at com.ibm.ws.tx.jta.TranManagerImpl.commit(TranManagerImpl.java:439)
at com.ibm.tx.jta.impl.TranManagerSet.commit(TranManagerSet.java:191)
at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:949)
at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:262)
at com.ibm.ejs.csi.RequiresNew.postInvoke(RequiresNew.java:154)
at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:567)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:4491)
at <package name>EJSLocalStatelessInvestigationProcessingService_8d39cc4e.epGetDetailsForInvestigationProcessing(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at org.springframework.ejb.access.LocalSlsbInvokerInterceptor.invokeInContext(LocalSlsbInvokerInterceptor.java:70)
at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:188)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy28.epGetDetailsForInvestigationProcessing(Unknown Source)
at <package name>.processGetRequest(MaintainInvestigationController.java:286)
at com.pmigroup.jpmiframework.web.mvc.controller.ApplMultiActionFormController.showForm(ApplMultiActionFormController.java:269)
at org.springframework.web.servlet.mvc.AbstractFormController.showNewForm(AbstractFormController.java:338)
at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:278)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
The caused by trace is as follows.
Caused by: javax.ejb.TransactionRolledbackLocalException: ; nested exception is: javax.transaction.SystemException
at com.ibm.tx.jta.impl.TransactionImpl.stage3CommitProcessing(TransactionImpl.java:1251)
at com.ibm.tx.jta.impl.TransactionImpl.processCommit(TransactionImpl.java:1042)
at com.ibm.tx.jta.impl.TransactionImpl.commit(TransactionImpl.java:963)
at com.ibm.ws.tx.jta.TranManagerImpl.commit(TranManagerImpl.java:439)
at com.ibm.tx.jta.impl.TranManagerSet.commit(TranManagerSet.java:191)
at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:949)
at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:262)
at com.ibm.ejs.csi.RequiresNew.postInvoke(RequiresNew.java:154)
at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:567)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:4491)
at <package_name>EJSLocalStatelessInvestigationProcessingService_8d39cc4e.epGetDetailsForInvestigationProcessing(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at org.springframework.ejb.access.LocalSlsbInvokerInterceptor.invokeInContext(LocalSlsbInvokerInterceptor.java:70)
at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:188)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy28.epGetDetailsForInvestigationProcessing(Unknown Source)
at <package_name>.processGetRequest(MaintainInvestigationController.java:286)
at <package_name>.showForm(ApplMultiActionFormController.java:269)

Configuration with id 'ADAPTER_CONTENT' for schema 'mfp_default_schema' with version '1.0' not found

I am trying to deploy an JavaSQL Adapter with Hikari Pool using MobileFirst Foundation 8.0 and Postgres 9.5
On deploying, I get the following in the log:
[ERROR ] FWLSE0321: State change failure. Caused by: java.lang.RuntimeException: User code thrown exception: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: FATAL: sorry, too many clients already
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:516)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:118)
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:71)
at com.kloan.JavaSQLApplication.getDataSource(JavaSQLApplication.java:49)
at com.kloan.JavaSQLApplication.init(JavaSQLApplication.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
java.lang.RuntimeException: User code thrown exception: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: FATAL: sorry, too many clients already
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:516)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:118)
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:71)
at com.kloan.JavaSQLApplication.getDataSource(JavaSQLApplication.java:49)
at com.kloan.JavaSQLApplication.init(JavaSQLApplication.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
[ERROR ] CNFSRVE115: configuration with id 'ADAPTER_CONTENT' for schema 'mfp_default_schema' with version '1.0' not found
[ERROR ] Unable to delete configuration with id ADAPTER_CONTENT due to exception FWLSE3208E: An invalid status code "404" was returned. The response content is "{"reason":"configuration_not_found","details":"CNFSRVE115: configuration with id 'ADAPTER_CONTENT' for schema 'mfp_default_schema' with version '1.0' not found"}".
What is mfp_default_schema and where do I find it?
The latest DevKit build, released yesterday (September 2nd, 2016) should address this. If you are a customer, you can find your copy in IBM Fix Central. If you are an evaluator, you can find it here.

java.lang.NoClassDefFoundError: during deployment on web sphere WAS 8.5

I am getting java.lang.NoClassDefFoundError error during my deployment on WAS 8.5.I have included the icu4j jar but still I am getting below error .I have put the jar in lib folder.Could you please advise.
[2/4/16 15:41:49:952 GMT] 00000054 webapp E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0}
java.lang.NoClassDefFoundError: com.vertexinc.tps.xml.calc.parsegenerate.builder.NonSpecificTransactionBuilder (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:175)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:250)
at com.vertexinc.tps.xml.calc.parsegenerate.builder.BuilderRegistration.register(BuilderRegistration.java:33)
at com.vertexinc.tps.xml.calc.service.XmlTaxCalculator.init(XmlTaxCalculator.java:76)
at com.ford.finance.taxconnector.engine.VertexTaxEngine.initVertex(VertexTaxEngine.java:103)
at com.ford.finance.taxconnector.engine.VertexTaxEngine.<init>(VertexTaxEngine.java:77)
at com.ford.finance.taxconnector.engine.VertexTaxEngine.initialize(VertexTaxEngine.java:51)
at com.ford.finance.taxconnector.config.Config.init(Config.java:154)
at com.ford.finance.taxconnector.config.Config.getInstance(Config.java:83)
at com.ford.finance.taxconnector.TaxConnectorStartupListener.contextInitialized(TaxConnectorStartupListener.java:51)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1689)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:410)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:422)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:714)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1167)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:773)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1369)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2170)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:435)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:378)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:126)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:653)
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5471)
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5597)
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:667)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:611)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:69)
at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:272)
at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1152)
at java.security.AccessController.doPrivileged(AccessController.java:388)
at com.ibm.oti.security.CheckedAccessControlContext.securityCheck(CheckedAccessControlContext.java:30)
at sun.misc.JavaSecurityAccessWrapper.doIntersectionPrivilege(JavaSecurityAccessWrapper.java:41)
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1146)
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:999)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:847)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:783)
at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1350)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1243)
at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)
at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:247)
at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:360)
at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:602)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$QueuedWork.run(SSLReadServiceContext.java:1981)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1720)
Caused by: java.lang.NoClassDefFoundError: com.ibm.icu.text.Normalizer
at com.vertexinc.util.unicode.Normalizer.normalize(Normalizer.java:26)
at com.vertexinc.util.config.SysConfig.getEnv(SysConfig.java:744)
at com.vertexinc.tps.common.domain.CalcEnv.loadConfig(CalcEnv.java:84)
at com.vertexinc.tps.common.domain.CalcEnv.<init>(CalcEnv.java:73)
at com.vertexinc.tps.common.domain.CalcEnvManager.createService(CalcEnvManager.java:32)
at com.vertexinc.tps.common.domain.CalcEnvManager.getService(CalcEnvManager.java:22)
at com.vertexinc.tps.common.calc.app.direct.CalcEngine.isDefaultAutoCommit(CalcEngine.java:1110)
at com.vertexinc.tps.common.calc.app.direct.TransactionFactory.<init>(TransactionFactory.java:96)
at com.vertexinc.tps.common.calc.app.direct.CalcEngine.createTransactionFactory(CalcEngine.java:506)
at com.vertexinc.tps.xml.calc.parsegenerate.builder.CreateUtil.getTransactionFactory(CreateUtil.java:35)
at com.vertexinc.tps.xml.calc.parsegenerate.builder.CreateUtil.createTransaction(CreateUtil.java:40)
at com.vertexinc.tps.xml.calc.parsegenerate.builder.NonSpecificTransactionBuilder.<clinit>(NonSpecificTransactionBuilder.java:40)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:250)
at com.vertexinc.tps.xml.calc.parsegenerate.builder.BuilderRegistration.register(BuilderRegistration.java:33)
at com.vertexinc.tps.xml.calc.service.XmlTaxCalculator.init(XmlTaxCalculator.java:76)
at com.ford.finance.taxconnector.engine.VertexTaxEngine.initVertex(VertexTaxEngine.java:103)
at com.ford.finance.taxconnector.engine.VertexTaxEngine.<init>(VertexTaxEngine.java:77)
at com.ford.finance.taxconnector.engine.VertexTaxEngine.initialize(VertexTaxEngine.java:51)
at com.ford.finance.taxconnector.config.Config.init(Config.java:154)
at com.ford.finance.taxconnector.config.Config.getInstance(Config.java:83)
at com.ford.finance.taxconnector.TaxConnectorStartupListener.contextInitialized(TaxConnectorStartupListener.java:51)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1689)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:410)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
What version are you attempting to use? It's very likely you're hitting a library conflict with open source software packages as described here and here. Of particular interest is either crafting an isolated shared library or using the Always-Protected Packages function to hide the com.ibm.icu packages from the JavaEE application.
Application Server 8.5 includes ICU version 4.4.2 as described in the MANIFEST.MF of WAS_HOME/plugins/com.ibm.icu.jar.

WSMQ Queue Limit

is there a limit on how many queues I can have open within a single connection and single session? I can currently open up 128 queues and send messages to them. If I try to open up 129 I get the following error...
Thanks
Error:
com.ibm.msg.client.jms.DetailedResourceAllocationException: JMSWMQ2008: Failed to open MQ queue 'TestQueue_129'. JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error. Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.
at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:579)
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:219)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:1000)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:956)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.access$800(WMQMessageProducer.java:59)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer$SpiIdentifiedProducerShadow.initialise(WMQMessageProducer.java:727)
at com.ibm.msg.client.wmq.internal.WMQMessageProducer.<init>(WMQMessageProducer.java:931)
at com.ibm.msg.client.wmq.internal.WMQSession.createProducer(WMQSession.java:783)
at com.ibm.msg.client.jms.internal.JmsSessionImpl.createProducer(JmsSessionImpl.java:1122)
at com.ibm.msg.client.jms.internal.JmsQueueSessionImpl.createSender(JmsQueueSessionImpl.java:131)
at com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:147)
at com.ibm.mq.jms.MQQueueSession.createProducer(MQQueueSession.java:248)
at MyQueue.<init>(MyQueue.java:25)
at Main.main(Main.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.ibm.ws.client.applicationclient.launchClient.createContainerAndLaunchApp(launchClient.java:788)
at com.ibm.ws.client.applicationclient.launchClient.main(launchClient.java:493)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213)
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93)
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
at org.eclipse.core.launcher.Main.run(Main.java:981)
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:330)
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:108)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2017' ('MQRC_HANDLE_NOT_AVAILABLE').
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:206)
... 39 more
WSCL0100E: Exception received: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.ibm.ws.client.applicationclient.launchClient.createContainerAndLaunchApp(launchClient.java:788)
at com.ibm.ws.client.applicationclient.launchClient.main(launchClient.java:493)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213)
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93)
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
at org.eclipse.core.launcher.Main.run(Main.java:981)
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:330)
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:108)
Caused by: java.lang.NullPointerException
at MyQueue.sendMessage(MyQueue.java:39)
at Main.main(Main.java:55)
... 27 more
This is controlled by the queue manager's MAXHANDS attribute.
The default is 256. Depending on how you access the queues, the classes may be opening each one twice, resulting in 128 max open queues.
You can display the queue handles in runmqsc with the DIS QSTATUS command.

Categories

Resources