MobileFirst控制台 - 60秒后Wlapp上传失败

时间:2015-10-09 11:11:14

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

我已经安装了&配置以下项目:

  • 已安装的IBM WebSphere Application Server Liberty Core(V8.5.5)
  • 已安装的IBM MobileFirst Platform Server(Verison 7.1)

将wlapp文件上传到mobilefirst控制台时,如果耗时超过60秒,则会抛出错误:

  

连接失败。检查服务器日志以获取详细信息。

这是我的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已关闭:读取失败。可能的流结束   遇到。同时将请求重定向到   http://localhost:9080/wladmin/management-apis/1.0/runtimes/HelloWorld/applications?async=true

任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:2)

2016-03-23之后发布的修正应解决问题。 http://www-01.ibm.com/support/docview.wss?uid=swg1PI59605

答案 1 :(得分:0)

您的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连接的缺陷..