MobileFirst 控制台 - Wlapp 上传在 60 秒后失败
MobileFirst Console - Wlapp Upload Fails After 60 seconds
我已经安装并配置了以下项目:
- 已安装 IBM WebSphere Application Server Liberty Core(版本 8.5.5)
- 已安装 IBM MobileFirst Platform Server(7.1 版)
将 wlapp 文件上传到 mobilefirst 控制台时,如果时间超过 60 秒,则会抛出错误:
Connection failure. Check server log for details.
这是我的 server.xml :
<server description="new server">
<featureManager>
<feature>jsp-2.2</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.0</feature>
<feature>servlet-3.0</feature>
<feature>ssl-1.0</feature>
<feature>localConnector-1.0</feature>
<feature>restConnector-1.0</feature>
<feature>appSecurity-1.0</feature>
</featureManager>
<httpSession cloneId="server1" />
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="9080"
httpsPort="9443" >
<tcpOptions inactivityTimeout="10m" soReuseAddr="true"/>
<httpOptions readTimeout="10m" writeTimeout="10m" removeServerHeader="true" />
</httpEndpoint>
<administrator-role>
<user>WorklightRESTUser</user>
</administrator-role>
<basicRegistry>
<user name="WorklightRESTUser" password="yfcXTcXUEcTV"/>
<user name="admin" password="admin"/>
</basicRegistry>
<webContainer invokeFlushAfterService="false" deferServletLoad="false"/>
<jndiEntry jndiName="ibm.worklight.admin.endpoint" value="http://IP:PORT/wladmin" />
<jndiEntry jndiName="ibm.worklight.admin.proxy.protocol" value="http" />
<jndiEntry jndiName="ibm.worklight.admin.proxy.host" value="<IP>" />
<jndiEntry jndiName="ibm.worklight.admin.proxy.port" value="<PORT>"/>
<application id="HelloWorld" name="HelloWorld" location="HelloWorld.war" type="war">
<classloader delegation="parentLast">
<privateLibrary id="worklightlib_HelloWorld">
<fileset dir="${shared.resource.dir}/HelloWorld/lib" includes="worklight-jee-library.jar"/>
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_*.jar"/>
</privateLibrary>
</classloader>
</application>
<jndiEntry jndiName="HelloWorld/publicWorkLightProtocol" value='"http"'/>
<jndiEntry jndiName="HelloWorld/publicWorkLightPort" value='"9080"'/>
<jndiEntry jndiName="HelloWorld/reports.exportRawData" value='"false"'/>
<library id="HelloWorld/DB2Lib">
<fileset dir="${shared.resource.dir}/HelloWorld/db2" includes="db2jcc4.jar"/>
</library>
<dataSource jndiName="HelloWorld/jdbc/WorklightDS" transactional="false">
<jdbcDriver libraryRef="HelloWorld/DB2Lib"/>
<properties.db2.jcc databaseName="MF_HELLO" serverName="<IP>" portNumber="<PORT>" user="<USER>" password="<PWD>" currentSchema="WRKLGHT"/>
</dataSource>
<keyStore id="defaultKeyStore" password="worklight"/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.host" value='"localhost"'/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.port" value='"9443"'/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.user" value='"WorklightRESTUser"'/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.pwd" value='"yfcXTcXUEcTV"'/>
<jndiEntry jndiName="ibm.worklight.topology.platform" value='"Liberty"'/>
<jndiEntry jndiName="ibm.worklight.topology.clustermode" value='"Standalone"'/>
<executor id="default" name="LargeThreadPool"
coreThreads="200" maxThreads="400" keepAlive="60s"
stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS"/>
<application id="wladmin" name="wladmin" location="worklightadmin.war" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
</security-role>
<security-role name="worklightmonitor">
</security-role>
<security-role name="worklightoperator">
</security-role>
</application-bnd>
<classloader delegation="parentLast">
<commonLibrary id="worklightlib_wladmin">
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_*.jar"/>
</commonLibrary>
</classloader>
</application>
<library id="wladmin/DB2Lib">
<fileset dir="${shared.resource.dir}/wladmin/db2" includes="db2jcc4.jar"/>
</library>
<dataSource jndiName="wladmin/jdbc/WorklightAdminDS" transactional="false">
<jdbcDriver libraryRef="wladmin/DB2Lib"/>
<properties.db2.jcc databaseName="WRKLGHT" serverName="IP" portNumber="PORT" user="USER" password="PWD" currentSchema="WLADMIN"/>
</dataSource>
<application id="worklightconsole" name="worklightconsole" location="worklightconsole.war" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
</security-role>
<security-role name="worklightmonitor">
</security-role>
<security-role name="worklightoperator">
</security-role>
</application-bnd>
<classloader delegation="parentLast"/>
</application>
<jndiEntry jndiName="worklightconsole/ibm.worklight.admin.endpoint" value='"*://*:*/wladmin"'/>
</server>
在服务器 messages.log 中,我收到此错误:
com.ibm.worklight.management.ui.servlet.ServiceProxy
Throwable Connection closed: Read failed. Possible end of stream
encountered. while redirecting request to
http://localhost:9080/wladmin/management-apis/1.0/runtimes/HelloWorld/applications?async=true
非常感谢任何帮助。
您的 Liberty Profile 版本是 8.5.5.0。不支持此版本。最低版本为 8.5.5.3(请参阅 http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/prereqsForProduct?deliverableId=46183B706BEA11E48038141DE954FC88,选项卡支持的软件)。能解释这种问题是因为这个Liberty版本在jndi管理、REST连接等方面存在缺陷..
2016 年 3 月 23 日之后发布的修复应该可以解决该问题。
http://www-01.ibm.com/support/docview.wss?uid=swg1PI59605
我已经安装并配置了以下项目:
- 已安装 IBM WebSphere Application Server Liberty Core(版本 8.5.5)
- 已安装 IBM MobileFirst Platform Server(7.1 版)
将 wlapp 文件上传到 mobilefirst 控制台时,如果时间超过 60 秒,则会抛出错误:
Connection failure. Check server log for details.
这是我的 server.xml :
<server description="new server">
<featureManager>
<feature>jsp-2.2</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.0</feature>
<feature>servlet-3.0</feature>
<feature>ssl-1.0</feature>
<feature>localConnector-1.0</feature>
<feature>restConnector-1.0</feature>
<feature>appSecurity-1.0</feature>
</featureManager>
<httpSession cloneId="server1" />
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="9080"
httpsPort="9443" >
<tcpOptions inactivityTimeout="10m" soReuseAddr="true"/>
<httpOptions readTimeout="10m" writeTimeout="10m" removeServerHeader="true" />
</httpEndpoint>
<administrator-role>
<user>WorklightRESTUser</user>
</administrator-role>
<basicRegistry>
<user name="WorklightRESTUser" password="yfcXTcXUEcTV"/>
<user name="admin" password="admin"/>
</basicRegistry>
<webContainer invokeFlushAfterService="false" deferServletLoad="false"/>
<jndiEntry jndiName="ibm.worklight.admin.endpoint" value="http://IP:PORT/wladmin" />
<jndiEntry jndiName="ibm.worklight.admin.proxy.protocol" value="http" />
<jndiEntry jndiName="ibm.worklight.admin.proxy.host" value="<IP>" />
<jndiEntry jndiName="ibm.worklight.admin.proxy.port" value="<PORT>"/>
<application id="HelloWorld" name="HelloWorld" location="HelloWorld.war" type="war">
<classloader delegation="parentLast">
<privateLibrary id="worklightlib_HelloWorld">
<fileset dir="${shared.resource.dir}/HelloWorld/lib" includes="worklight-jee-library.jar"/>
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_*.jar"/>
</privateLibrary>
</classloader>
</application>
<jndiEntry jndiName="HelloWorld/publicWorkLightProtocol" value='"http"'/>
<jndiEntry jndiName="HelloWorld/publicWorkLightPort" value='"9080"'/>
<jndiEntry jndiName="HelloWorld/reports.exportRawData" value='"false"'/>
<library id="HelloWorld/DB2Lib">
<fileset dir="${shared.resource.dir}/HelloWorld/db2" includes="db2jcc4.jar"/>
</library>
<dataSource jndiName="HelloWorld/jdbc/WorklightDS" transactional="false">
<jdbcDriver libraryRef="HelloWorld/DB2Lib"/>
<properties.db2.jcc databaseName="MF_HELLO" serverName="<IP>" portNumber="<PORT>" user="<USER>" password="<PWD>" currentSchema="WRKLGHT"/>
</dataSource>
<keyStore id="defaultKeyStore" password="worklight"/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.host" value='"localhost"'/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.port" value='"9443"'/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.user" value='"WorklightRESTUser"'/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.pwd" value='"yfcXTcXUEcTV"'/>
<jndiEntry jndiName="ibm.worklight.topology.platform" value='"Liberty"'/>
<jndiEntry jndiName="ibm.worklight.topology.clustermode" value='"Standalone"'/>
<executor id="default" name="LargeThreadPool"
coreThreads="200" maxThreads="400" keepAlive="60s"
stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS"/>
<application id="wladmin" name="wladmin" location="worklightadmin.war" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
</security-role>
<security-role name="worklightmonitor">
</security-role>
<security-role name="worklightoperator">
</security-role>
</application-bnd>
<classloader delegation="parentLast">
<commonLibrary id="worklightlib_wladmin">
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_*.jar"/>
</commonLibrary>
</classloader>
</application>
<library id="wladmin/DB2Lib">
<fileset dir="${shared.resource.dir}/wladmin/db2" includes="db2jcc4.jar"/>
</library>
<dataSource jndiName="wladmin/jdbc/WorklightAdminDS" transactional="false">
<jdbcDriver libraryRef="wladmin/DB2Lib"/>
<properties.db2.jcc databaseName="WRKLGHT" serverName="IP" portNumber="PORT" user="USER" password="PWD" currentSchema="WLADMIN"/>
</dataSource>
<application id="worklightconsole" name="worklightconsole" location="worklightconsole.war" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
</security-role>
<security-role name="worklightmonitor">
</security-role>
<security-role name="worklightoperator">
</security-role>
</application-bnd>
<classloader delegation="parentLast"/>
</application>
<jndiEntry jndiName="worklightconsole/ibm.worklight.admin.endpoint" value='"*://*:*/wladmin"'/>
</server>
在服务器 messages.log 中,我收到此错误:
com.ibm.worklight.management.ui.servlet.ServiceProxy
Throwable Connection closed: Read failed. Possible end of stream encountered. while redirecting request to http://localhost:9080/wladmin/management-apis/1.0/runtimes/HelloWorld/applications?async=true
非常感谢任何帮助。
您的 Liberty Profile 版本是 8.5.5.0。不支持此版本。最低版本为 8.5.5.3(请参阅 http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/prereqsForProduct?deliverableId=46183B706BEA11E48038141DE954FC88,选项卡支持的软件)。能解释这种问题是因为这个Liberty版本在jndi管理、REST连接等方面存在缺陷..
2016 年 3 月 23 日之后发布的修复应该可以解决该问题。 http://www-01.ibm.com/support/docview.wss?uid=swg1PI59605