在 server.xml 中包含 adminCenter-1.0 和 batchManagement-1.0 功能,在 Liberty 8.5.5.8 中出现功能冲突错误

Including both adminCenter-1.0 and batchManagement-1.0 features in server.xml giving feature conflict error in Liberty 8.5.5.8

我正在使用 WebSphere Application Server 8.5.5.8/wlp-1.0.11.cl50820151201-1942,并且在我的 featureManager 列表中使用 batchManagement-1.0 和 adminCenter-1.0,如下所示

<featureManager>        
            <feature>servlet-3.1</feature>
            <feature>batchManagement-1.0</feature>
            <feature>batch-1.0</feature>        
            <feature>localConnector-1.0</feature>
            <feature>adminCenter-1.0</feature>
        </featureManager>

server.xml 显示低于警告

['adminCenter-1.0' --> 'restConnector-1.0' --> 'jaxrs-1.1' --> 'com.ibm.websphere.appserver.javaeeCompatible-6.0'] 和 ['batchManagement-1.0' --> 'batch-1.0' --> 'com.ibm.websphere.appserver.javaeeCompatible-7.0'] 特征有冲突。 Select 一组兼容的功能。

请问如何解决这个问题?

我的Server.xml如下,

<server description="new server">

    <!-- Enable features -->
    <featureManager>        
        <feature>servlet-3.1</feature>
        <feature>batchManagement-1.0</feature>
        <feature>batch-1.0</feature>
        <feature>localConnector-1.0</feature>        
    </featureManager>

    <!--  The default self-signed SSL certificate in this example
      is intended only for development use and not for production. -->

    <keyStore id="defaultKeyStore" password="Liberty"/> 

    <basicRegistry id="basic" realm="ibm/api">
       <user name="bob" password="bobpwd"/>
     </basicRegistry>


    <!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
    <httpEndpoint host="*" httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/>

    <!-- Automatically expand WAR files and EAR files -->
    <applicationManager autoExpand="true"/>
    <!-- Batch persistence config.  References a databaseStore. -->
    <batchPersistence jobStoreRef="BatchDatabaseStore"/>

    <!-- The database store for the batch tables.  -->
    <!-- Note this database store is referenced by the batchPersistence element. -->
    <databaseStore dataSourceRef="batchDB" id="BatchDatabaseStore" schema="JBATCH" tablePrefix=""/>

    <!-- Derby JDBC driver -->
    <!-- Note this library is referenced by the dataSource element -->
    <library id="DerbyLib">
        <fileset dir="${server.config.dir}/resources/derby"/>
    </library>
    <dataSource id="batchDB" isolationLevel="TRANSACTION_REPEATABLE_READ" syncQueryTimeoutWithTransactionTimeout="false">
        <jdbcDriver libraryRef="DerbyLib"/>
        <properties.derby.embedded createDatabase="create" databaseName="${server.config.dir}/resources/RUNTIMEDB" password="pass" user="user"/>
    </dataSource> 

    <!-- Posgres DB Entries 
    <dataSource id="PostgresSample" jndiName="jdbc/SKLocal" type="javax.sql.XADataSource">
       <jdbcDriver javax.sql.XADataSource="org.postgresql.xa.PGXADataSource"  libraryRef="PostgresJDBCLib"/>
          <properties databaseName="postgres" password="****" portNumber="5433" serverName="localhost" user="postgres"/>
   </dataSource>   
   <library id="PostgresJDBCLib">
    <fileset dir="${server.config.dir}/resources/posgres" includes="*.jar"/>
   </library>-->

    <!-- Posgres DB Entries END -->
    <!-- DB2 Data Source Starts -->
    <dataSource connectionSharing="MatchOriginalRequest" id="DB2DataSource" jndiName="jdbc/db2" type="javax.sql.XADataSource">
      <jdbcDriver javax.sql.XADataSource="com.ibm.db2.jcc.DB2XADataSource" libraryRef="DB2JCC4Lib"/>      
       <!--  <properties.db2.jcc databaseName="IDSSTG" password="****" portNumber="50000" serverName="****" user="****"/>-->
       <properties.db2.jcc databaseName="PNENDB2" password="****" portNumber="50000" serverName="****" user="****"/>
    </dataSource>
    <library id="DB2JCC4Lib">
      <fileset dir="${server.config.dir}/resources/db2" includes="*.jar"/>
     </library>
    <!--  DB2 Data Source Ends -->

    <library id="cacheLibrary">
          <fileset dir="${server.config.dir}/resources/cache" includes="*.jar"/>
    </library>        

   <application id="myapp" location="ReadingFromDBSampleWAR.war" name="ReadingFromDBSampleWAR" type="war">
     <classloader commonLibraryRef="cacheLibrary"/>
   </application>

    <applicationMonitor updateTrigger="mbean"/>

    <webApplication id="ReadingFromDBSampleWAR" location="ReadingFromDBSampleWAR.war" name="ReadingFromDBSampleWAR"/>
</server>

更新:

看起来这个问题类似于 8559 中的一个修复。 http://www-01.ibm.com/support/docview.wss?uid=swg1PI52094

如果您更新到 8559 版本的 Liberty,这应该可以解决您的问题。 https://developer.ibm.com/wasdev/downloads/

额外信息:

查看所有 Liberty 功能的 link: http://www.ibm.com/support/knowledgecenter/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp_feat.html

这是批处理管理功能的 link: http://www.ibm.com/support/knowledgecenter/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp_feature_batchManagement-1.0.html

从link可以看出,servlet-3.1和batch-1.0是由batchManagement特性启用的。然后,如果您查看 servlet-3.1 文章,您将看到该功能也启用了 adminCenter-1.0。

这是 Liberty 的 link 修复包 8.5.5.9,

http://www-01.ibm.com/support/docview.wss?uid=swg24041819#Liberty

使用与 Liberty 的安装方式相匹配的修复包。