mobileFirst 服务器中的运行时环境值正在设置为默认值 "worklight"
Runtime Environment value in mobileFirst server is setting up to default value "worklight"
我正在使用 mobileFirst CLI 通过 ant 脚本部署 war 文件。提供 mfp-cli Web 服务器目录和 derby 数据库的路径。
下面是我的代码:
<target name="database">
<configuredatabase kind="Worklight">
<derby database="WRKLGHT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</configuredatabase>
<configuredatabase kind="WorklightReports">
<derby database="WLREPORT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</configuredatabase>
</target>
<target name="install">
<configureapplicationserver id="TestProj" environmentId="TestProj">
<project warfile="${path-to-project}/TestProj.war" libraryfile="${path-to-worklight-jee}/worklight-jee-library-7.0.0.jar"/>
<!-- Here you can define values which override the
default values of Worklight configuration properties -->
<property name="serverSessionTimeout" value="10"/>
<applicationserver>
<websphereapplicationserver installdir="${websphere-server-installed-directory}/wlp" profile="Liberty" user="admin" password="admin">
<server name="worklight"/>
</websphereapplicationserver>
</applicationserver>
<database kind="Worklight">
<derby database="WRKLGHT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</database>
<database kind="WorklightReports">
<derby database="WLREPORT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</database>
</configureapplicationserver>
server.xml 更新如下:
<server description="worklight">
<featureManager>
<feature>servlet-3.0</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.0</feature>
<feature>localConnector-1.0</feature>
<feature>restConnector-1.0</feature>
<feature>jsp-2.2</feature>
<feature>appSecurity-1.0</feature>
<feature>ssl-1.0</feature>
</featureManager>
<webContainer invokeFlushAfterService="false" deferServletLoad="false"/>
<webContainer com.ibm.ws.webcontainer.suppressLoggingServiceRuntimeExcep="true" invokeFlushAfterService="false" deferServletLoad="false"/>
<webContainer deferServletLoad="false" invokeFlushAfterService="false"/>
<!-- non standard ports were used to avoid future collision with other WebSphere products. -->
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="10080"
httpsPort="10443" >
<tcpOptions soReuseAddr="true"/>
</httpEndpoint>
<logging consoleLogLevel="AUDIT" copySystemStreams="false"/>
<applicationMonitor updateTrigger="mbean"/>
<executor name="LargeThreadPool" id="default" coreThreads="200" maxThreads="400" keepAlive="60s" stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS"/>
<administrator-role>
<user>admin</user>
</administrator-role>
<keyStore id="defaultKeyStore" password="worklight"/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.host" value="localhost"/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.port" value="10443"/>
<jndiEntry jndiName="ibm.worklight.topology.platform" value="Liberty"/>
<jndiEntry jndiName="ibm.worklight.topology.clustermode" value="Standalone"/>
<application context-root="analytics-service" id="analytics-service" location="analytics-service.war" name="AnalyticsServices" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
<user name="deployer"/>
</security-role>
<security-role name="worklightmonitor">
<user name="monitor"/>
</security-role>
<security-role name="worklightoperator">
<user name="operator"/>
</security-role>
</application-bnd>
</application>
<application context-root="analytics" id="analytics" location="analytics.war" name="Analytics" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
<user name="deployer"/>
</security-role>
<security-role name="worklightmonitor">
<user name="monitor"/>
</security-role>
<security-role name="worklightoperator">
<user name="operator"/>
</security-role>
</application-bnd>
</application>
<!-- Begin of configuration added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->
<!-- Declare the IBM Worklight project runtime application. -->
<application id="worklight" name="worklight" location="TestProj.war" type="war">
<classloader delegation="parentLast">
<privateLibrary id="worklightlib_worklight">
<fileset dir="${shared.resource.dir}/worklight/lib" includes="worklight-jee-library-7.0.0.jar"/>
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.1.jar"/>
</privateLibrary>
</classloader>
</application>
<!-- Declare the JNDI properties for the IBM Worklight project runtime. -->
<jndiEntry jndiName="worklight/publicWorkLightProtocol" value='"http"'/>
<jndiEntry jndiName="worklight/publicWorkLightPort" value='"10080"'/>
<jndiEntry jndiName="worklight/ibm.worklight.admin.environmentid" value='"TestProj"'/>
<jndiEntry jndiName="worklight/serverSessionTimeout" value='"10"'/>
<!-- Declare the jar file for Derby with the "embedded" deployment option. -->
<library id="worklight/DerbyLib">
<fileset dir="${shared.resource.dir}/worklight/derby" includes="derby.jar"/>
</library>
<!-- Declare the IBM Worklight Server database. -->
<dataSource jndiName="worklight/jdbc/WorklightDS" transactional="false">
<jdbcDriver libraryRef="worklight/DerbyLib"/>
<properties.derby.embedded databaseName="${path-to-mfpcli}/TestProj/WRKLGHT" user='"WORKLIGHT"'/>
</dataSource>
<!-- Declare the IBM Worklight Server reports database. -->
<dataSource jndiName="worklight/jdbc/WorklightReportsDS" transactional="false">
<jdbcDriver libraryRef="worklight/DerbyLib"/>
<properties.derby.embedded databaseName="${path-to-mfpcli}/TestProj/WLREPORT" user='"WORKLIGHT"'/>
</dataSource>
<!-- End of configuration added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->
但是 server.xml 中 TestProj.war 代码的 ID 和名称是 "worklight" 我不明白它是如何成为默认值的,而 运行 服务器运行时环境显示为工作灯。我因此无法部署我的应用程序,因为它会抛出错误 MBean not found。
在
<configureapplicationserver id="TestProj" environmentId="TestProj">
你不需要身份证。仅当您在 WAS 完整配置文件中部署时才使用此属性(为在 WAS 中创建的对象添加后缀并允许在一个单元中进行多次部署)
您可能不需要 environmentId。如果您在同一应用程序服务器中部署多个 MFP 管理实例,则使用此选项。如果你添加它,管理员必须有相同的或者你有一个 MBean not found 错误。
要更改 contextRoot,请使用属性 contextroot
<configureapplicationserver contextRoot="/TestProj">
我正在使用 mobileFirst CLI 通过 ant 脚本部署 war 文件。提供 mfp-cli Web 服务器目录和 derby 数据库的路径。
下面是我的代码:
<target name="database">
<configuredatabase kind="Worklight">
<derby database="WRKLGHT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</configuredatabase>
<configuredatabase kind="WorklightReports">
<derby database="WLREPORT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</configuredatabase>
</target>
<target name="install">
<configureapplicationserver id="TestProj" environmentId="TestProj">
<project warfile="${path-to-project}/TestProj.war" libraryfile="${path-to-worklight-jee}/worklight-jee-library-7.0.0.jar"/>
<!-- Here you can define values which override the
default values of Worklight configuration properties -->
<property name="serverSessionTimeout" value="10"/>
<applicationserver>
<websphereapplicationserver installdir="${websphere-server-installed-directory}/wlp" profile="Liberty" user="admin" password="admin">
<server name="worklight"/>
</websphereapplicationserver>
</applicationserver>
<database kind="Worklight">
<derby database="WRKLGHT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</database>
<database kind="WorklightReports">
<derby database="WLREPORT" datadir="${path-to-mfpcli}/derby/TestProj"/>
</database>
</configureapplicationserver>
server.xml 更新如下:
<server description="worklight">
<featureManager>
<feature>servlet-3.0</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.0</feature>
<feature>localConnector-1.0</feature>
<feature>restConnector-1.0</feature>
<feature>jsp-2.2</feature>
<feature>appSecurity-1.0</feature>
<feature>ssl-1.0</feature>
</featureManager>
<webContainer invokeFlushAfterService="false" deferServletLoad="false"/>
<webContainer com.ibm.ws.webcontainer.suppressLoggingServiceRuntimeExcep="true" invokeFlushAfterService="false" deferServletLoad="false"/>
<webContainer deferServletLoad="false" invokeFlushAfterService="false"/>
<!-- non standard ports were used to avoid future collision with other WebSphere products. -->
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="10080"
httpsPort="10443" >
<tcpOptions soReuseAddr="true"/>
</httpEndpoint>
<logging consoleLogLevel="AUDIT" copySystemStreams="false"/>
<applicationMonitor updateTrigger="mbean"/>
<executor name="LargeThreadPool" id="default" coreThreads="200" maxThreads="400" keepAlive="60s" stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS"/>
<administrator-role>
<user>admin</user>
</administrator-role>
<keyStore id="defaultKeyStore" password="worklight"/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.host" value="localhost"/>
<jndiEntry jndiName="ibm.worklight.admin.jmx.port" value="10443"/>
<jndiEntry jndiName="ibm.worklight.topology.platform" value="Liberty"/>
<jndiEntry jndiName="ibm.worklight.topology.clustermode" value="Standalone"/>
<application context-root="analytics-service" id="analytics-service" location="analytics-service.war" name="AnalyticsServices" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
<user name="deployer"/>
</security-role>
<security-role name="worklightmonitor">
<user name="monitor"/>
</security-role>
<security-role name="worklightoperator">
<user name="operator"/>
</security-role>
</application-bnd>
</application>
<application context-root="analytics" id="analytics" location="analytics.war" name="Analytics" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="admin"/>
</security-role>
<security-role name="worklightdeployer">
<user name="deployer"/>
</security-role>
<security-role name="worklightmonitor">
<user name="monitor"/>
</security-role>
<security-role name="worklightoperator">
<user name="operator"/>
</security-role>
</application-bnd>
</application>
<!-- Begin of configuration added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->
<!-- Declare the IBM Worklight project runtime application. -->
<application id="worklight" name="worklight" location="TestProj.war" type="war">
<classloader delegation="parentLast">
<privateLibrary id="worklightlib_worklight">
<fileset dir="${shared.resource.dir}/worklight/lib" includes="worklight-jee-library-7.0.0.jar"/>
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.1.jar"/>
</privateLibrary>
</classloader>
</application>
<!-- Declare the JNDI properties for the IBM Worklight project runtime. -->
<jndiEntry jndiName="worklight/publicWorkLightProtocol" value='"http"'/>
<jndiEntry jndiName="worklight/publicWorkLightPort" value='"10080"'/>
<jndiEntry jndiName="worklight/ibm.worklight.admin.environmentid" value='"TestProj"'/>
<jndiEntry jndiName="worklight/serverSessionTimeout" value='"10"'/>
<!-- Declare the jar file for Derby with the "embedded" deployment option. -->
<library id="worklight/DerbyLib">
<fileset dir="${shared.resource.dir}/worklight/derby" includes="derby.jar"/>
</library>
<!-- Declare the IBM Worklight Server database. -->
<dataSource jndiName="worklight/jdbc/WorklightDS" transactional="false">
<jdbcDriver libraryRef="worklight/DerbyLib"/>
<properties.derby.embedded databaseName="${path-to-mfpcli}/TestProj/WRKLGHT" user='"WORKLIGHT"'/>
</dataSource>
<!-- Declare the IBM Worklight Server reports database. -->
<dataSource jndiName="worklight/jdbc/WorklightReportsDS" transactional="false">
<jdbcDriver libraryRef="worklight/DerbyLib"/>
<properties.derby.embedded databaseName="${path-to-mfpcli}/TestProj/WLREPORT" user='"WORKLIGHT"'/>
</dataSource>
<!-- End of configuration added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->
但是 server.xml 中 TestProj.war 代码的 ID 和名称是 "worklight" 我不明白它是如何成为默认值的,而 运行 服务器运行时环境显示为工作灯。我因此无法部署我的应用程序,因为它会抛出错误 MBean not found。
在
<configureapplicationserver id="TestProj" environmentId="TestProj">
你不需要身份证。仅当您在 WAS 完整配置文件中部署时才使用此属性(为在 WAS 中创建的对象添加后缀并允许在一个单元中进行多次部署)
您可能不需要 environmentId。如果您在同一应用程序服务器中部署多个 MFP 管理实例,则使用此选项。如果你添加它,管理员必须有相同的或者你有一个 MBean not found 错误。
要更改 contextRoot,请使用属性 contextroot
<configureapplicationserver contextRoot="/TestProj">