I deploy an ear with a unique war inside with servlet 2.5 version.
When I try to start the application, the log shows this message and the server tries to start the application infinitely. It ends after 20 minutes throwing a java HeapException.
[11/18/13 11:12:24:235 CET] 00000044 FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/was/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/server1_a74ac991_13.11.18_11.12.24.2348371791741532456941.txt com.ibm.ws.classloader.ClassLoaderUtils.addDependents 238
[11/18/13 11:12:26:007 CET] 00000044 webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: ISicres 8.2 GISS Servlet 2.5.
[11/18/13 11:12:26:490 CET] 00000044 WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/ISicres
If I deploy the same ear but with servlet 2.4 version, when I start the application, it starts in a few seconds.
The servlet 2.4 definition is the following:
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
The servlet 2.5 definition is the following:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
At the startup it shows the following exception in the log /opt/was/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/server1_a74ac991_13.11.18_11.12.24.2348371791741532456941.txt:
[11/18/13 11:12:24:234 CET] FFDC Exception:java.util.zip.ZipException SourceId:com.ibm.ws.classloader.ClassLoaderUtils.addDependents ProbeId:238 Reporter:java.lang.Class#e9e29e43
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:150)
at java.util.jar.JarFile.<init>(JarFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:113)
at com.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:147)
at com.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:195)
at com.ibm.ws.classloader.ClassLoaderUtils.addDependentJars(ClassLoaderUtils.java:113)
at com.ibm.ws.classloader.ClassGraph.<init>(ClassGraph.java:117)
at com.ibm.ws.classloader.ClassLoaderManager.initialize(ClassLoaderManager.java:202)
at com.ibm.ws.classloader.ClassLoaderManager.<init>(ClassLoaderManager.java:166)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:923)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:769)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2172)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:994)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
At the end, the server writes some headdump files. This is the content of the file 'javacore.20131118.103120.6704.0005.txt' written:
0SECTION TITLE subcomponent dump routine
NULL ===============================
1TICHARSET UTF-8
1TISIGINFO Dump Event "systhrow" (00040000) Detail "java/lang/OutOfMemoryError" "Java heap space" received
1TIDATETIME Date: 2013/11/18 at 10:34:30
1TIFILENAME Javacore filename: /opt/was/WebSphere/AppServer/profiles/AppSrv01/javacore.20131118.103120.6704.0005.txt
1TIREQFLAGS Request Flags: 0x81 (exclusive+preempt)
1TIPREPSTATE Prep State: 0x104 (exclusive_vm_access+trace_disabled)
NULL ------------------------------------------------------------------------
0SECTION GPINFO subcomponent dump routine
NULL ================================
2XHOSLEVEL OS Level : Linux 2.6.32.12-0.7-default
2XHCPUS Processors -
3XHCPUARCH Architecture : amd64
3XHNUMCPUS How Many : 1
3XHNUMASUP NUMA is either not supported or has been disabled by user
NULL
1XHERROR2 Register dump section only produced for SIGSEGV, SIGILL or SIGFPE.
NULL
NULL ------------------------------------------------------------------------
0SECTION ENVINFO subcomponent dump routine
NULL =================================
1CIJAVAVERSION JRE 1.6.0 Linux amd64-64 build 20120322_106210 (pxa6460_26sr2ifix-20120419_02(SR2+IV19661))
1CIVMVERSION VM build R26_Java626_SR2_20120322_1722_B106210
1CIJITVERSION r11_20120322_22976
1CIGCVERSION GC - R26_Java626_SR2_20120322_1722_B106210_CMPRSS
1CIJITMODES JIT enabled, AOT enabled, FSD disabled, HCR disabled
1CIRUNNINGAS Running as a standalone JVM
1CICMDLINE /opt/was/WebSphere/AppServer/java/bin/java -Declipse.security -Dwas.status.socket=44247
What could be the problem with WAS 8.5 and servlets 2.5 spec?
Without knowledge of the contents of your application I can only assume that extensive classpath scanning is going on (a lot of annotations were introduced in Java EE 6/Servlet 2.5). You should check with Reducing annotation searches during application deployment for possible solutions.
Related
I tried to run JBilling Community Edition app. I have configured it properly (I think I do), but I have an error during the start up. All logs are below:
C:\dev\JAVA\jdk1.8.0_131\bin\java -Dgrails.home=C:\dev\grails-2.5.6 -Dtools.jar=C:\dev\JAVA\jdk1.8.0_131\lib\tools.jar -Dgroovy.starter.conf=C:\dev\grails-2.5.6/conf/groovy-starter.conf -Djline.WindowsTerminal.directConsole=false -javaagent:C:\dev\grails-2.5.6\lib\org.springframework\springloaded\jars\springloaded-1.2.7.RELEASE.jar -noverify -Dspringloaded=profile=grails;cacheDir=. -Dbase.dir=E:\workspace\jbilling\JBilling\jbilling-community-4.1.1 -Dfile.encoding=UTF-8 -classpath C:\dev\grails-2.5.6\lib\org.codehaus.groovy\groovy-all\jars\groovy-all-2.4.10.jar;C:\dev\grails-2.5.6\dist\grails-bootstrap-2.5.6.jar org.codehaus.groovy.grails.cli.support.GrailsStarter --main org.codehaus.groovy.grails.cli.GrailsScriptRunner --conf C:\dev\grails-2.5.6/conf/groovy-starter.conf "run-app -plain-output"
|Loading Grails 2.5.6
|Configuring classpath
.
|Environment set to development
.................................
|Packaging Grails application
.............Setting license in jbilling.properties from license.txt
.....Loading configuration files from classpath
Checking the connection to the DB...
Connected to the DB successfully!!!
.....................................Loading configuration files from classpath
.2017-09-12 14:12:54,101 0 INFO [grails.plugin.webxml.WebxmlGrailsPlugin] (main:) Loading default config file: class DefaultWebXmlConfig
2017-09-12 14:12:54,115 14 WARN [grails.plugin.webxml.WebxmlGrailsPlugin] (main:) Did not find application config file: WebXmlConfig
2017-09-12 14:12:54,812 711 INFO [grails.plugin.webxml.WebxmlGrailsPlugin] (main:) Loading default config file: class DefaultWebXmlConfig
2017-09-12 14:12:54,836 735 WARN [grails.plugin.webxml.WebxmlGrailsPlugin] (main:) Did not find application config file: WebXmlConfig
|Running Grails application
.Setting license in jbilling.properties from license.txt
.....2017-09-12 14:12:55,408 1307 INFO [org.apache.coyote.http11.Http11NioProtocol] (main:) Initializing ProtocolHandler ["http-nio-8080"]
2017-09-12 14:12:55,440 1339 INFO [org.apache.tomcat.util.net.NioSelectorPool] (main:) Using a shared selector for servlet write/read
Loading configuration files from classpath
2017-09-12 14:12:56,149 2048 ERROR [org.springframework.web.context.ContextLoader] (localhost-startStop-1:) Context initialization failed
java.lang.IllegalAccessError: tried to access method org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonMutex()Ljava/lang/Object; from class org.springframework.context.event.AbstractApplicationEventMulticaster
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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:748)
2017-09-12 14:12:56,150 2049 ERROR [org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener] (localhost-startStop-1:) Error initializing the application: tried to access method org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonMutex()Ljava/lang/Object; from class org.springframework.context.event.AbstractApplicationEventMulticaster
java.lang.IllegalAccessError: tried to access method org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonMutex()Ljava/lang/Object; from class org.springframework.context.event.AbstractApplicationEventMulticaster
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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:748)
Process finished with exit code 1
Maybe somebody has a clue how to fix it? Any advices? I would appreciate that. It seems that the app is ok, but the only problem is spring in here?
I believe the problem could be the grails version you have 'grails-2.5.6'.
The jB CE 4.x version is based on grails-2.4.3. You should use that.
I'm facing a problem while create MQ operation with WAS 7.0.0.35(64 bit) in Linux environment.
System configuration-
WAS version :- 7.0.0.35(64 bit)
OS - Redhat Enterprise Linux 5.8 x86_64
WebSphere MQ:-7.5
Note:- MQ and WAS server are installed in different machine. Transport type TCP is is used for MQ.
WAS Configuration:
Classloader policy at server level is:: Single
Class loading mode at server level is :: Classes loaded with parent class loader first.
Classloader policy at application level is:: Classes loaded with parent class loader first.
MQ Logs we found following error-
Process(8240.4) User(mqm) Program(amqrmppa)
Host(mq-qa1.XXXfintech.com) Installation(Installation1)
VRMF(7.5.0.0) QMgr(krishnendur.LLLmv.XXXfintech.com)
AMQ9504: A protocol error was detected for channel 'CHKMV'.
EXPLANATION:
During communications with the remote queue manager, the channel program
detected a protocol error. The failure type was 11 with associated data of 0.
ACTION:
Contact the systems administrator who should examine the error logs to
determine the cause of the failure.
Errors in Application logs-
[2015-08-19 13:43:37,835]-[WARN ]-[bContainer : 10]-[com.abc.AspectFailOver.ajc$before$com_XXX__AspectFailOver$3$73ca82ff(){82}]-Generic Exception
javax.jms.JMSException: CC=2;RC=2009
at com.abc.inf.QueueConnectionFactoryBean.createQueueConnection(QueueConnectionFactoryBean.java:159)
at com.abc.inf.JmsConnectionFactoryImpl.newSession(JmsConnectionFactoryImpl.java:67)
at com.abc.inf.QueueHandler.<init>(QueueHandler.java:115)
at com.abc.inf.QueueHandlerFactory.getHandler(QueueHandlerFactory.java:51)
at com.abc.ref.web.base.AbstractWizardController.commitAction(AbstractWizardController.java:1055)
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.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1635)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:149)
....
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:516)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:307)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1662)
[2015-08-19 13:43:37,837]-[ERROR]-[bContainer : 10]-[applicationclass.QueueXXX.<init>(){118}]-javax.jms.JMSException: CC=2;RC=2009
[2015-08-19 13:43:37,837]-[WARN ]-[bContainer : 10]-[applicationclass.AFOXXX.ajc$before$cxxxxxxx(){82}]-Generic Exception
applicationclass.MKEClass: **Failed To Create MQ Session**
at applicationclass.QueueXXX.<init>(QueueXXX.java:119)
at applicationclass.QueueXXXZZZ.getHandler(QueueXXXZZZ.java:51)
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.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1635)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:149)
....
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:516)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:307)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1662)
But in WAS logs we found following Error code-
Error code related to MQbind
** mqjbnd level :- CC=2;RC=2495;AMQ8568**
Messaging Provider Components:
| CMVC :- k700-L080820
| Class Name :- class com.ibm.msg.client.wmq.factories.WMQComponent
| Component Name :- com.ibm.msg.client.wmq
| Component Title :- IBM WebSphere MQ
| Factory Class :- class com.ibm.msg.client.wmq.factories.WMQFactoryFactory
| Version :- 7.0.0.0
| mqjbnd level :- CC=2;RC=2495;AMQ8568: The native JNI library 'mqjbnd' was not found. [3=mqjbnd]::mqjbnd (Not found in java.library.path)
Provider Specific Information
Overview of JMS System
Num. Connections : 1
Num. Sessions : 0
Num. Consumers : 0
Num. Producers : 0
.....
| queueManagerName :- XXXst2.XXXmv.AAAfintech.com
| XMSC_CONNECTION_TYPE :- 1
| XMSC_CONNECTION_TYPE_NAME :- com.ibm.msg.client.wmq
Another error code found in logs is
com.ibm.mq.jmqi.remote.internal.RemoteHconn Reason Code:2009 and compcode:2
FFDC
Exception:com.ibm.ws.wmqcsi.trace.WMQClientException SourceId: ProbeId:XN00100C Reporter:java.util.HashMap#24252425
com.ibm.ws.wmqcsi.trace.WMQClientException:
FDCTitle
Source Class :- com.ibm.msg.client.wmq.internal.WMQConnection
Source Method :-
ProbeID :- XN00100C
Thread :- name=WebContainer : 10 priority=5 group=main ccl=
com.ibm.ws.classloader.CompoundClassLoader#11621162[war:XXXmv-LLL-qa/YYY-tomcat.war]
...
Parent: com.ibm.ws.classloader.CompoundClassLoader#f120f12[app:XXXmv-LLL-qa]
Delegation Mode: PARENT_FIRST
Data
----
| compcode :- 2
| hconn :- com.ibm.mq.jmqi.remote.internal.RemoteHconn[connectionId=414D51436E696E7374322E6E696E6D76E4C1905501054F20]
| reason :- 2009
Version information
-------------------
WebSphere MQ classes for Java Message Service
7.0.0.0
k700-L080820
Production
Java Message Service Client
7.0.0.0
k700-L080820
Production
IBM WebSphere MQ
7.0.0.0
k700-L080820
Production
Common Services for Java Platform, Standard Edition
1.0.0.0
k700-L080820
Production
null
null
Production
Stack trace
-----------
Stack trace to show the location of the FFST call
| FFST Location :- java.lang.Exception
| at com.ibm.msg.client.commonservices.trace.Trace.getCurrentPosition(Trace.java:1671)
| at com.ibm.msg.client.commonservices.trace.Trace.createFFSTString(Trace.java:1610)
| at com.ibm.msg.client.commonservices.trace.Trace.ffstInternal(Trace.java:1494)
| at com.ibm.msg.client.commonservices.trace.Trace.ffst(Trace.java:1353)
| at com.ibm.msg.client.wmq.internal.WMQConnection.(WMQConnection.java:438)
| at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:7855)
| at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:7331)
| at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:276)
| at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6058)
| at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:144)
| at com.abc.inf.AAAQueueConnectionFactoryBean.makeObject(AAAQueueConnectionFactoryBean.java:221)
Thanks & Regards,
Krishnendu
The cause of this issue is IBM MQ APAR "IV36766: MQ V7.0.0.0 JAVA CLIENT APPLICATION CONNECTING TO MQ V7.1 QMGR GETS AMQ9504 PROTOCOL ERROR; FDC HAS PROBE IDS RM680037 RM039000"
Problem summary
USERS AFFECTED:
Users of v7.0.0.0 Java clients connecting to a v7.1 or v7.5
queue manager may be affected by this problem.
Platforms affected:
All Distributed (iSeries, all Unix and Windows)
PROBLEM SUMMARY:
A bug existed in the v7.0.0.0 JMS client flow which
was fixed in later versions of the code. On queue managers earlier
than v7.1, the invalid flow was not detected.
Code was added in v7.1 to detect and report the invalid flow and this
detection resulted in the rrcE_PROTOCOL_ERROR FDCs being produced.
Problem conclusion
It is correct behavior for the queue manager to
report the invalid flow so this code change was not reverted.
The recommended solution for the problem is to upgrade any client
still at v7.0.0.0 to a later releae, as Client releases at v7.0.1.0 or
later contain a fix for the client code so that it does not send an
invalid flow to the queue manager.
Also to note that MQ v7.0 is end of service as of September 30th 2015, but if included in a supported WAS version will remain supported until the WAS version is EOS.
This one has me beat, I've looked around at a lot of other posts/questions both on Stack Overflow and elsewhere, as well as spoken to some IBMers who don't know the cause either.
I have set up a MobileFirst Platform Server in a VM as per the instructions in the knowledge centre for v7.0 "Tutorial for a basic installation of MobileFirst Server" (using DB2 as the Database). I have followed every step, yet at step #9, the Operations Console does not actually show the runtime as I would expect. This means I am unable to deploy the adapters etc. to be able to test the app properly on a physical device. (Eventually this VM will have public IP exposure so we can use/demo the application on any internet connection).
The application Center etc. deployed to the server is working fine and I have been able to connect my phone and tablet to it to download the deployed APKs and install them fine. It's just this runtime issue that's not working.
There are a few messages in the logs, that based on my research indicate errors that can either be ignored, or that were already fixed in 6.3. I'd love for someone to be able to shed some light on what's causing the issue, this is driving a few of us bananas. We believe it may be something to do with a JMX or SSLSocket error but cannot actually figure out the exact cause or how to rectify it (as we're not using ssl at all that we know of).
Screenshot of The Server Conf Tool
http://www.files.interestingmix.com.au/stack/mfps_servconf_runtime.png
Screenshot of The Operations Console
http://www.files.interestingmix.com.au/stack/mfps_opscons_noruntime.png
(The following server logs were cleansed before the "server start simpleserver" operation)
Extract from messages.log
E FWLSE0320E: Failed to check whether the admin services are ready. Caused by: [project worklight]
java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
at javax.net.ssl.DefaultSSLSocketFactory.a(SSLSocketFactory.java:2)
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:9)
at com.ibm.net.ssl.www2.protocol.https.c.createSocket(c.java:145)
at sun.net.NetworkClient.doConnect(NetworkClient.java:174)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:407)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:502)
at com.ibm.net.ssl.www2.protocol.https.c.<init>(c.java:103)
at com.ibm.net.ssl.www2.protocol.https.c.a(c.java:25)
at com.ibm.net.ssl.www2.protocol.https.d.getNewHttpClient(d.java:20)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:943)
at com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:11)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1311)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:479)
at com.ibm.net.ssl.www2.protocol.https.b.getResponseCode(b.java:63)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.loadJMXServerInfo(RESTMBeanServerConnection.java:240)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.<init>(RESTMBeanServerConnection.java:161)
at com.ibm.ws.jmx.connector.client.rest.internal.Connector.connect(Connector.java:371)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:278)
at com.worklight.common.util.jmx.LibertyRuntimeMBeanHandler.getMBeanServerConnection(LibertyRuntimeMBeanHandler.java:84)
at com.worklight.common.util.jmx.MBeanConnectorFactory.getLocalMBeanProxy(MBeanConnectorFactory.java:139)
at com.worklight.core.jmx.ProjectSynchronizationBean.isReady(ProjectSynchronizationBean.java:126)
at com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:140)
at java.lang.Thread.run(Thread.java:780)
Caused by: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
at javax.net.ssl.SSLJsseUtil.b(SSLJsseUtil.java:147)
at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:8)
at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:3)
at javax.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:19)
at com.ibm.net.ssl.www2.protocol.https.b.<init>(b.java:94)
at com.ibm.net.ssl.www2.protocol.https.Handler.openConnection(Handler.java:3)
at com.ibm.net.ssl.www2.protocol.https.Handler.openConnection(Handler.java:8)
at java.net.URL.openConnection(URL.java:983)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.getBasicConnection(RESTMBeanServerConnection.java:1835)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.getConnection(RESTMBeanServerConnection.java:1923)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.getConnection(RESTMBeanServerConnection.java:1896)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.getConnection(RESTMBeanServerConnection.java:1892)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.loadJMXServerInfo(RESTMBeanServerConnection.java:231)
at com.ibm.ws.jmx.connector.client.rest.internal.RESTMBeanServerConnection.<init>(RESTMBeanServerConnection.java:155)
at com.ibm.ws.jmx.connector.client.rest.internal.Connector.connect(Connector.java:371)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:278)
at com.worklight.common.util.jmx.LibertyRuntimeMBeanHandler.getMBeanServerConnection(LibertyRuntimeMBeanHandler.java:84)
at com.worklight.common.util.jmx.MBeanConnectorFactory.getLocalMBeanProxy(MBeanConnectorFactory.java:139)
at com.worklight.core.jmx.ProjectSynchronizationBean.isReady(ProjectSynchronizationBean.java:126)
at com.worklight.core.init.WorklightServletInitializer.initialize(WorklightServletInitializer.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:613)
at com.worklight.server.bundle.project.JeeProjectActivator$1.run(JeeProjectActivator.java:227)
at com.worklight.server.bundle.project.JeeProjectActivator.contextInitialized(JeeProjectActivator.java:268)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:2374)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1044)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6342)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:446)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApplication(DynamicVirtualHost.java:441)
at com.ibm.ws.webcontainer.osgi.WebContainer.startWebApplication(WebContainer.java:761)
at com.ibm.ws.webcontainer.osgi.WebContainer.startModule(WebContainer.java:739)
at com.ibm.ws.app.manager.web.internal.WebModuleHandlerImpl.deployModule(WebModuleHandlerImpl.java:106)
at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployModule(DeployedAppInfoBase.java:538)
at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployModules(DeployedAppInfoBase.java:457)
at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployApp(DeployedAppInfoBase.java:411)
at com.ibm.ws.app.manager.war.internal.WARApplicationHandlerImpl.install(WARApplicationHandlerImpl.java:73)
at com.ibm.ws.app.manager.internal.statemachine.StartAction.execute(StartAction.java:139)
at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.enterState(ApplicationStateMachineImpl.java:1166)
at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.run(ApplicationStateMachineImpl.java:779)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626)
... 1 more
[3/26/15 14:20:44:058 EST] 00000045 SystemErr R Exception in thread "Initialization thread for Worklight runtime worklight"
[3/26/15 14:20:44:058 EST] 00000045 SystemErr R java.lang.RuntimeException: Timeout while waiting for the management service to start up.120 secs.
[3/26/15 14:20:44:060 EST] 00000045 SystemErr R at com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:144)
[3/26/15 14:20:44:061 EST] 00000045 SystemErr R at java.lang.Thread.run(Thread.java:780)
[3/26/15 14:22:45:591 EST] 0000004d com.ibm.worklight.admin.common.util.ContextPropertyUtil I Resource conf/jndi/default.properties not found. This is not an error. Context path is /worklightconsole
[3/26/15 14:22:46:078 EST] 0000005a SystemErr R 249960 WorklightManagementPU-db2 INFO [LargeThreadPool-thread-32] openjpa.Runtime - Starting OpenJPA 1.2.2
[3/26/15 14:22:46:084 EST] 0000005a SystemErr R 249966 WorklightManagementPU-db2 INFO [LargeThreadPool-thread-32] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DB2Dictionary" (DB2/LINUXX8664 SQL10053 ,IBM Data Server Driver for JDBC and SQLJ 4.17.29).
[3/26/15 14:22:46:182 EST] 0000005a com.worklight.common.util.jmx.LibertyRuntimeMBeanHandler I Establishing REST connection to service:jmx:rest://localhost:9443/IBMJMXConnectorREST
[3/26/15 14:22:46:189 EST] 0000005a com.ibm.worklight.admin.services.RuntimeService E Failed to obtain JMX connection to access an MBean.
There might be a JMX configuration error: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
[3/26/15 14:22:46:607 EST] 0000005a com.ibm.worklight.admin.services.RuntimeService W No running mxbeans found
Extract from console.log
[AUDIT ] CWWKF0011I: The server simpleServer is ready to run a smarter planet.
[err] dataBaseFromDataSource=true
[err] dataBaseUrl=jdbc:db2://mobilefirstdev7.local.com:50000/APPCNTR
[err] dataBaseDriver=IBM Data Server Driver for JDBC and SQLJ
[err] dataBaseDriverVersion=4.17
[err] dataBaseProduct=DB2/LINUXX8664
[err] dataBaseVersion=SQL10053
[err] dataBaseUser=db2inst1
[err] 153 appcenterdb-db2 INFO [LargeThreadPool-thread-14] openjpa.Runtime - Starting OpenJPA 1.2.2
[err] 360 appcenterdb-db2 INFO [LargeThreadPool-thread-14] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DB2Dictionary" (DB2/LINUXX8664 SQL10053 ,IBM Data Server Driver for JDBC and SQLJ 4.17.29).
[err] 376 WorklightManagementPU-db2 INFO [LargeThreadPool-thread-15] openjpa.Runtime - Starting OpenJPA 1.2.2
[err] 34 WorklightPU WARN [LargeThreadPool-thread-16] openjpa.Runtime - An error occurred while registering a ClassTransformer with PersistenceUnitInfo: name 'WorklightPU', root URL [file:/opt/IBM/WebSphere/Liberty/usr/shared/resources/worklight/lib/worklight-jee-library.jar]. The error has been consumed. To see it, set your openjpa.Runtime log level to TRACE. Load-time class transformation will not be available.
[err] 1 WorklightReportsPU WARN [LargeThreadPool-thread-16] openjpa.Runtime - An error occurred while registering a ClassTransformer with PersistenceUnitInfo: name 'WorklightReportsPU', root URL [file:/opt/IBM/WebSphere/Liberty/usr/shared/resources/worklight/lib/worklight-jee-library.jar]. The error has been consumed. To see it, set your openjpa.Runtime log level to TRACE. Load-time class transformation will not be available.
[err] 731 WorklightManagementPU-db2 INFO [LargeThreadPool-thread-15] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DB2Dictionary" (DB2/LINUXX8664 SQL10053 ,IBM Data Server Driver for JDBC and SQLJ 4.17.29).
[err] 2699 WorklightPU INFO [LargeThreadPool-thread-16] openjpa.Runtime - Starting OpenJPA 1.2.2
[err] 2861 WorklightPU INFO [LargeThreadPool-thread-16] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DB2Dictionary".
[err] 3567 WorklightManagementPU-db2 INFO [LargeThreadPool-thread-15] openjpa.Runtime - Though you are using optimistic transactions, OpenJPA is now beginning a datastore transaction because you have requested a lock on some data.
[AUDIT ] CWWKZ0001I: Application wladmin started in 38.705 seconds.
[AUDIT ] CWWKZ0001I: Application applicationcenter started in 39.095 seconds.
[AUDIT ] CWWKZ0001I: Application worklight started in 41.892 seconds.
[ERROR ] FWLSE0320E: Failed to check whether the admin services are ready. Caused by: [project worklight]
java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
[err] Exception in thread "Initialization thread for Worklight runtime worklight"
[err] java.lang.RuntimeException: Timeout while waiting for the management service to start up.120 secs.
[err] at com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:144)
[err] at java.lang.Thread.run(Thread.java:780)
[err] 249960 WorklightManagementPU-db2 INFO [LargeThreadPool-thread-32] openjpa.Runtime - Starting OpenJPA 1.2.2
[err] 249966 WorklightManagementPU-db2 INFO [LargeThreadPool-thread-32] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DB2Dictionary" (DB2/LINUXX8664 SQL10053 ,IBM Data Server Driver for JDBC and SQLJ 4.17.29).
[ERROR ] Failed to obtain JMX connection to access an MBean.
There might be a JMX configuration error: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
[WARNING ] No running mxbeans found
Check this post - you cannot use full profile Java SDK by default with Liberty as it is configured to different SSLFactory.
You either need to:
- switch to Oracle JVM
- use separately downloadable IBM SDK for Liberty
- make following changes in the Liberty config:
Create jvm.options file with the following content:
-Djava.security.properties=./custom.java.security
Create custom.java.security in the same directory as jvm.options file you just need these two, nothing more:
ssl.SocketFactory.provider=
ssl.ServerSocketFactory.provider=
After some discussions about this error message, the suggestions to solve this are:
To either use a different JRE (Oracle JRE 6 or 7, or IBM JRE 6 or 7 outside of WAS Full Profile).
And/or follow the instructions in the doc link here:
http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_trouble.html?cp=SSAW57_8.5.5%2F1-17-0
I have a web application which is running on Websphere application server 8.5. I have coherence cluster server running on the WebLogic. I want to connect this web application to join the coherence cluster. I get the error shown blow:
[4/22/14 14:29:40:119 CDT] 00000074 SystemErr R 2014-04-22 14:29:40.119/94.607 Oracle Coherence GE 12.1.2.0.0 <Info> (thread=WebContainer : 0, member=n/a): Loaded cache configuration from "file:/C:/IBM/WebSphere/AppServer/profiles/AppSrvJDK7/installedApps/Machine01Node02Cell/single-sign-on-coherence-ear.ear/single-sign-on-coherence-WAR1.0.war/WEB-INF/classes/coherence-cache-config.xml"
[4/22/14 14:29:40:503 CDT] 00000074 SystemErr R 2014-04-22 14:29:40.503/94.991 Oracle Coherence GE 12.1.2.0.0 <Info> (thread=WebContainer : 0, member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory
[4/22/14 14:29:41:114 CDT] 00000074 SystemErr R 2014-04-22 14:29:41.114/95.602 Oracle Coherence GE 12.1.2.0.0 <D4> (thread=WebContainer : 0, member=n/a): TCMP bound to /172.17.108.156:8088 using SystemDatagramSocketProvider
[4/22/14 14:30:11:661 CDT] 00000074 SystemErr R 2014-04-22 14:30:11.660/126.148 Oracle Coherence GE 12.1.2.0.0 <Warning> (thread=Cluster, member=n/a): Delaying formation of a new cluster; waiting for well-known nodes to respond
Below is my override xml file:
<?xml version="1.0" encoding="UTF-8"?>
<coherence
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config http://xmlns.oracle.com/coherence/coherence-operational-config/1.2/coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name system-property="tangosol.coherence.cluster">defaultCoherenceCluster</cluster-name>
<member-name system-property="tangosol.coherence.member">wls_cluster_1</member-name>
<role-name system-property="tangosol.coherence.role">CacheClient</role-name>
</member-identity>
<unicast-listener>
<well-known-addresses>
<socket-address id="1">
<address>127.0.0.1</address>
<port>7003</port>
</socket-address>
<socket-address id="2">
<address>127.0.0.1</address>
<port>7006</port>
</socket-address>
</well-known-addresses>
<!--
<address system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">8088</port>
<port-auto-adjust system-property="tangosol.coherence.localport.adjust">
true
</port-auto-adjust>
-->
</unicast-listener>
<multicast-listener>
<time-to-live system-property="tangosol.coherence.ttl">0</time-to-live>
</multicast-listener>
</cluster-config>
<configurable-cache-factory-config>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value system-property="tangosol.coherence.cacheconfig">coherence-cache-config.xml
</param-value>
</init-param>
</init-params>
</configurable-cache-factory-config>
</coherence>
From the error, I can see that the web application is not able to connect to the WKA. Can some one help me on what could be cause that I am not able to connect? I have verified that the cluster is up & running.
Can you provide your websphare startup script? Basically you needs to pass both localhost and port in your start script using -D option.
You need to pass the hosts and ports as JVM arguments in the startup script of both Weblogic and websphere server provided both the machines where all the JVM are present, must have proper connection each other. JVM arguments should contain both weblogic and webshpere hosts and ports. So that, both servers can identify the other members from JVMs. Example arguments:
COHERENCE_L_HOST="-Dtangosol.coherence.localhost=localhost"
COHERENCE_L_PORT="-Dtangosol.coherence.localport=8080"
COHERENCE_W_HOST1="-Dtangosol.coherence.wka.host.1=localhost"
COHERENCE_W_PORT1="-Dtangosol.coherence.wka.port.1=8085"
COHERENCE_W_HOST2="-Dtangosol.coherence.wka.host.2=localhost"
COHERENCE_W_PORT2="-Dtangosol.coherence.wka.port.2=8089"
COHERENCE_W_HOST3="-Dtangosol.coherence.wka.host.3=localhost"
COHERENCE_W_PORT3="-Dtangosol.coherence.wka.port.3=8090"
I get the following exception when deploying a JSR 286 portlet into Oracle WebLogic Server 11g (to deploy it later in Oracle WebCenter 11g):
<19-ene-2010 13H32' CET> <Error> <oracle.portlet.server.containerimpl.PortletApplicationImpl> <BEA-000000> <Error al procesar el archivo "/WEB-INF/portlet.xml" en la lÝnea 6 columna 68.
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'portlet-app'
The error message is in spanish. It means:
"Error processing the file "/WEB-INF/portlet.xml at line 6 column 68"
The portlet.xml of my portlet seems to be correct and I've deployed it in other portal servers. So I don't understand the error message.
This is the portlet.xml of my portlet (eclipse XML validator said it was a valid XML)
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app version="2.0"
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:dnd="http://www.denodo.com/widget/portlet/portletjsr286">
<portlet>
<description>Test Inter Portlet Communication (JSR286)</description>
<portlet-name>Test IPC</portlet-name>
<display-name>Test IPC</display-name>
<portlet-class>com.denodo.ipc.TestIPCPortlet</portlet-class>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<resource-bundle>PortletMessages</resource-bundle>
<portlet-info>
<title>Test IPC</title>
<short-title>Test IPC</short-title>
<keywords>Test IPC,Denodo</keywords>
</portlet-info>
</portlet>
</portlet-app>
How do I deploy my portlet
I convert my portlet into to a WSRP portlet by executing
java -jar wsrp-predeploy.jar source EAR target EAR
as explained in http://download.oracle.com/docs/cd/E12839_01/webcenter.1111/e12405/wcadm_portlet_prod.htm#CHDECJHI)
I try to deploy it into WebLogic with the WebLogic Console and I get this exception.
My Environment
WebCenter Suite (11.1.1.2.0) + WebLogic Server (10.3.2) downloaded from the oracle.com. Default configuration
S.O: Windows XP SP3
Thanks in advance for your time.
Have you tried using the openPortal portlet-container? The doc says it will install onto weblogic: https://portlet-container.dev.java.net/public/Download.html
Update: I just installed the portlet-container into the weblogic container and successfully deployed one of the sample portlets from this page: \http://portlet-container.dev.java.net/public/Samples.html