尽管服务器配置工具显示运行时,MobileFirst v7.0操作控制台仍显示“未安装运行时”。日志中的一些错误

时间:2015-03-26 03:33:17

标签: websphere-liberty ibm-mobilefirst mobilefirst-server

这个让我好斗,我已经在Stack Overflow和其他地方看了很多其他帖子/问题,并且对一些不了解原因的IBM员工说过。< / p>

我已按照知识中心v7.0和#34; MobileFirst Server基本安装教程&#34;中的说明在VM中设置了MobileFirst Platform Server。 (使用DB2作为数据库)。我已经完成了每一步,但在第9步,操作控制台实际上并没有像我期望的那样显示运行时。这意味着我无法部署适配器等,以便能够在物理设备上正确测试应用程序。 (最终这个VM将具有公共IP暴露,因此我们可以在任何互联网连接上使用/演示应用程序。)

部署到服务器的应用程序中心等工作正常,我已经能够将手机和平板电脑连接到它,以下载部署的APK并安装它们。只是这个运行时问题无效。

日志中有一些消息,基于我的研究表明可以忽略的错误,或者已经在6.3中修复的错误。我喜欢某人能够解释造成这个问题的原因,这正在驱使我们中的一些香蕉。我们认为它可能与JMX或SSLSocket错误有关,但实际上无法确定确切原因或如何纠正它(因为我们根本不会使用ssl)。

服务器配置工具的屏幕截图 http://www.files.interestingmix.com.au/stack/mfps_servconf_runtime.png

操作控制台的屏幕截图 http://www.files.interestingmix.com.au/stack/mfps_opscons_noruntime.png

(以下服务器日志在&#34;服务器启动simpleserver&#34;操作之前被清除)

从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

从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

2 个答案:

答案 0 :(得分:2)

检查this post - 默认情况下,您无法使用完整配置文件Java SDK,因为它配置为不同的SSLFactory。

您需要:
- 切换到Oracle JVM
- 使用可单独下载的IBM SDK for Liberty
- 在Liberty配置中进行以下更改:

使用以下内容创建jvm.options文件:

-Djava.security.properties=./custom.java.security

在与custom.java.security文件相同的目录中创建jvm.options,您只需要这两个,仅此而已:

ssl.SocketFactory.provider=
ssl.ServerSocketFactory.provider=

答案 1 :(得分:1)

在对此错误消息进行一些讨论之后,解决此问题的建议是:

  1. 使用不同的JRE(Oracle JRE 6或7,或WAS Full Profile之外的IBM JRE 6或7)。

  2. 和/或按照文档链接中的说明操作: 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