在 Wildfly 10.1 中禁用 Infinispan 集群

Posted

技术标签:

【中文标题】在 Wildfly 10.1 中禁用 Infinispan 集群【英文标题】:Disable Infinispan Clustering in Wildfly 10.1 【发布时间】:2017-09-07 01:10:49 【问题描述】:

我有两台 Wildfly 10.1.0 Final 服务器在同一台机器上运行。每个都部署了相同的应用程序,但针对不同的客户端。 每台服务器还配置为使用 Inifinispan 8.2.4 作为二级缓存。

现在,情况如下:第一台服务器启动,并出现以下日志条目:

2017-04-19 06:25:29,414 INFO  (ServerService Thread Pool -- 61) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.start) ISPN000078: Starting JGroups channel infinispan-hibernate-cluster
2017-04-19 06:25:36,166 INFO  (ServerService Thread Pool -- 61) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.viewAccepted) ISPN000094: Received new cluster view for channel infinispan-hibernate-cluster: [XXX-56490|0] (1) [XXX-56490]
2017-04-19 06:25:36,170 INFO  (ServerService Thread Pool -- 61) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.startJGroupsChannelIfNeeded) ISPN000079: Channel infinispan-hibernate-cluster local address is XXX-56490, physical addresses are [127.0.0.1:7800]

这是启动第二台服务器的日志:

2017-04-19 06:26:16,869 INFO  (ServerService Thread Pool -- 69) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.start) ISPN000078: Starting JGroups channel infinispan-hibernate-cluster
2017-04-19 06:26:17,800 INFO  (ServerService Thread Pool -- 69) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.viewAccepted) ISPN000094: Received new cluster view for channel infinispan-hibernate-cluster: [XXX-56490|1] (2) [XXX-56490, XXX-29707]
2017-04-19 06:26:17,807 INFO  (ServerService Thread Pool -- 69) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.startJGroupsChannelIfNeeded) ISPN000079: Channel infinispan-hibernate-cluster local address is XXX-29707, physical addresses are [127.0.0.1:7801]

在第二台服务器启动的同时,这发生在第一台服务器上:

2017-04-19 06:26:17,761 INFO  (Incoming-2,XXX-56490) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.viewAccepted) ISPN000094: Received new cluster view for channel infinispan-hibernate-cluster: [XXX-56490|1] (2) [XXX-56490, XXX-29707]

加上如下几条消息,看起来每个缓存实体都有一条:

2017-04-19 06:26:18,321 INFO  (remote-thread--p11-t1) [org.infinispan.CLUSTER.broadcastRebalanceStart) ISPN000310: Starting cluster-wide rebalance for cache XXX.ear/XXX.jar#XXX.Section, topology CacheTopologyid=2, rebalanceId=2, currentCH=ReplicatedConsistentHashns = 256, owners = (1)[XXX-56490: 256], pendingCH=ReplicatedConsistentHashns = 256, owners = (2)[XXX-56490: 126, XXX-29707: 130], unionCH=null, actualMembers=[XXX-56490, XXX-29707]
2017-04-19 06:26:18,327 INFO  (remote-thread--p11-t1) [org.infinispan.CLUSTER.log) [Context=XXX.ear/XXX.jar#XXX.Section][Scope=XXX-56490]ISPN100002: Started local rebalance
2017-04-19 06:26:18,334 INFO  (transport-thread--p13-t23) [org.infinispan.CLUSTER.log) [Context=XXX.ear/XXX.jar#XXX.Section][Scope=XXX-56490]ISPN100003: Finished local rebalance
2017-04-19 06:26:18,420 INFO  (remote-thread--p11-t1) [org.infinispan.CLUSTER.log) [Context=XXX.ear/XXX.jar#XXX.Section][Scope=XXX-29707]ISPN100003: Finished local rebalance
2017-04-19 06:26:18,422 INFO  (remote-thread--p11-t1) [org.infinispan.CLUSTER.endRebalance) ISPN000336: Finished cluster-wide rebalance for cache XXX.ear/XXX.jar#XXX.Section, topology id = 2

我想完全禁用该行为并让两个实例在不共享信息的情况下运行。

我在 infinispan-core-8.2.4.Final.jar 模块中发现了三个默认配置文件(jgroups-tcp、jgroups-google、jgroups-ec2),其中包含一个设置为 7800 的端口。

我已经检查了几个文档,但找不到任何答案。

也许我需要直接禁用 Wildfly 中的任何聚类功能?是否默认开启?

这是wildfly/standalone/configuration/文件夹中使用的standalone.xml:

<?xml version='1.0' encoding='UTF-8'?>

<server xmlns="urn:jboss:domain:4.2">

<extensions>
    <extension module="org.jboss.as.clustering.infinispan"/>
    <extension module="org.jboss.as.connector"/>
    <extension module="org.jboss.as.deployment-scanner"/>
    <extension module="org.jboss.as.ee"/>
    <extension module="org.jboss.as.ejb3"/>
    <extension module="org.jboss.as.jaxrs"/>
    <extension module="org.jboss.as.jdr"/>
    <extension module="org.jboss.as.jmx"/>
    <extension module="org.jboss.as.jpa"/>
    <extension module="org.jboss.as.jsf"/>
    <extension module="org.jboss.as.logging"/>
    <extension module="org.jboss.as.mail"/>
    <extension module="org.jboss.as.naming"/>
    <extension module="org.jboss.as.pojo"/>
    <extension module="org.jboss.as.remoting"/>
    <extension module="org.jboss.as.sar"/>
    <extension module="org.jboss.as.security"/>
    <extension module="org.jboss.as.transactions"/>
    <extension module="org.jboss.as.webservices"/>
    <extension module="org.jboss.as.weld"/>
    <extension module="org.wildfly.extension.batch.jberet"/>
    <extension module="org.wildfly.extension.bean-validation"/>
    <extension module="org.wildfly.extension.io"/>
    <extension module="org.wildfly.extension.messaging-activemq"/>
    <extension module="org.wildfly.extension.request-controller"/>
    <extension module="org.wildfly.extension.security.manager"/>
    <extension module="org.wildfly.extension.undertow"/>
</extensions>


<management>
    <security-realms>
        <security-realm name="XXXXX-system-realm">
            <authentication>
                <jaas name="XXXXX-login"/>
            </authentication>
        </security-realm>
        <security-realm name="ManagementRealm">
            <authentication>
                <local default-user="$local" skip-group-loading="true"/>
                <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
            </authentication>
            <authorization map-groups-to-roles="false">
                <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
            </authorization>
        </security-realm>
        <security-realm name="ApplicationRealm">
            <server-identities>
                <ssl>
                    <keystore path="application.keystore" relative-to="jboss.server.config.dir" keystore-password="password" alias="server" key-password="password" generate-self-signed-certificate-host="localhost"/>
                </ssl>
            </server-identities>
            <authentication>
                <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
            </authentication>
            <authorization>
                <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
            </authorization>
        </security-realm>
    </security-realms>
    <audit-log>
        <formatters>
            <json-formatter name="json-formatter"/>
        </formatters>
        <handlers>
            <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
        </handlers>
        <logger log-boot="true" log-read-only="false" enabled="false">
            <handlers>
                <handler name="file"/>
            </handlers>
        </logger>
    </audit-log>
    <management-interfaces>
        <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
            <socket-binding http="management-http"/>
        </http-interface>
    </management-interfaces>
    <access-control provider="simple">
        <role-mapping>
            <role name="SuperUser">
                <include>
                    <user name="$local"/>
                </include>
            </role>
        </role-mapping>
    </access-control>
</management>

<profile>
    <subsystem xmlns="urn:jboss:domain:logging:3.0">
        <some logging config>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:batch-jberet:1.0">
        <default-job-repository name="in-memory"/>
        <default-thread-pool name="batch"/>
        <job-repository name="in-memory">
            <in-memory/>
        </job-repository>
        <thread-pool name="batch">
            <max-threads count="10"/>
            <keepalive-time time="30" unit="seconds"/>
        </thread-pool>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
    <subsystem xmlns="urn:jboss:domain:datasources:4.0">
        <datasources>
            <datasource jta="true" jndi-name="java:/XXXXXDS" pool-name="PostgreSQLPool" enabled="true" use-java-context="true" use-ccm="true">
                <connection-url>jdbc:postgresql://localhost:5432/XXXXX</connection-url>
                <driver-class>org.postgresql.Driver</driver-class>
                <driver>postgresql-9.4.1209.jar</driver>
                <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                <pool>
                    <min-pool-size>10</min-pool-size>
                    <max-pool-size>100</max-pool-size>
                    <prefill>true</prefill>
                    <use-strict-min>false</use-strict-min>
                    <flush-strategy>FailingConnectionOnly</flush-strategy>
                </pool>
                <security>
                    <user-name>XXXXX</user-name>
                    <password>XXXXX</password>
                </security>
            </datasource>
        </datasources>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
        <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="$jboss.deployment.scanner.rollback.on.failure:false"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:ee:4.0">
        <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
        <concurrent>
            <context-services>
                <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
            </context-services>
            <managed-thread-factories>
                <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
            </managed-thread-factories>
            <managed-executor-services>
                <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/>
            </managed-executor-services>
            <managed-scheduled-executor-services>
                <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/>
            </managed-scheduled-executor-services>
        </concurrent>
        <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:/XXXXXDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:ejb3:4.0">
        <session-bean>
            <stateless>
                <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
            </stateless>
            <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
            <singleton default-access-timeout="5000"/>
        </session-bean>
        <mdb>
            <resource-adapter-ref resource-adapter-name="$ejb.resource-adapter-name:activemq-ra.rar"/>
            <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
        </mdb>
        <pools>
            <bean-instance-pools>
                <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
            </bean-instance-pools>
        </pools>
        <caches>
            <cache name="simple"/>
            <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
        </caches>
        <passivation-stores>
            <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
        </passivation-stores>
        <async thread-pool-name="default"/>
        <timer-service thread-pool-name="default" default-data-store="default-file-store">
            <data-stores>
                <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
            </data-stores>
        </timer-service>
        <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
        <thread-pools>
            <thread-pool name="default">
                <max-threads count="10"/>
                <keepalive-time time="100" unit="milliseconds"/>
            </thread-pool>
        </thread-pools>
        <default-security-domain value="XXXXX-login"/>
        <default-missing-method-permissions-deny-access value="true"/>
        <log-system-exceptions value="true"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:io:1.1">
        <worker name="default"/>
        <buffer-pool name="default"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:infinispan:4.0">
        <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
            <local-cache name="default">
                <transaction mode="BATCH"/>
            </local-cache>
        </cache-container>
        <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
            <local-cache name="passivation">
                <locking isolation="REPEATABLE_READ"/>
                <transaction mode="BATCH"/>
                <file-store passivation="true" purge="false"/>
            </local-cache>
            <local-cache name="persistent">
                <locking isolation="REPEATABLE_READ"/>
                <transaction mode="BATCH"/>
                <file-store passivation="false" purge="false"/>
            </local-cache>
            <local-cache name="concurrent">
                <file-store passivation="true" purge="false"/>
            </local-cache>
        </cache-container>
        <cache-container name="ejb" aliases="sfsb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan">
            <local-cache name="passivation">
                <locking isolation="REPEATABLE_READ"/>
                <transaction mode="BATCH"/>
                <file-store passivation="true" purge="false"/>
            </local-cache>
            <local-cache name="persistent">
                <locking isolation="REPEATABLE_READ"/>
                <transaction mode="BATCH"/>
                <file-store passivation="false" purge="false"/>
            </local-cache>
        </cache-container>
        <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
            <local-cache name="entity">
                <transaction mode="NON_XA"/>
                <eviction strategy="LRU" max-entries="10000"/>
                <expiration max-idle="100000"/>
            </local-cache>
            <local-cache name="local-query">
                <eviction strategy="LRU" max-entries="10000"/>
                <expiration max-idle="100000"/>
            </local-cache>
            <local-cache name="timestamps"/>
        </cache-container>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
    <subsystem xmlns="urn:jboss:domain:jca:4.0">
        <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
        <bean-validation enabled="true"/>
        <default-workmanager>
            <short-running-threads>
                <core-threads count="50"/>
                <queue-length count="50"/>
                <max-threads count="50"/>
                <keepalive-time time="10" unit="seconds"/>
            </short-running-threads>
            <long-running-threads>
                <core-threads count="50"/>
                <queue-length count="50"/>
                <max-threads count="50"/>
                <keepalive-time time="10" unit="seconds"/>
            </long-running-threads>
        </default-workmanager>
        <cached-connection-manager/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
    <subsystem xmlns="urn:jboss:domain:jmx:1.3">
        <expose-resolved-model/>
        <expose-expression-model/>
        <remoting-connector/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jpa:1.1">
        <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
    <subsystem xmlns="urn:jboss:domain:mail:2.0">
        <mail-session name="default" jndi-name="java:jboss/mail/Default">
            <smtp-server outbound-socket-binding-ref="mail-smtp"/>
        </mail-session>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:naming:2.0">
        <remote-naming/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
    <subsystem xmlns="urn:jboss:domain:remoting:3.0">
        <endpoint/>
        <http-connector name="http-remoting-connector" connector-ref="default" security-realm="XXXXX-system-realm"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:resource-adapters:4.0"/>
    <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
    <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
    <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
        <deployment-permissions>
            <maximum-set>
                <permission class="java.security.AllPermission"/>
            </maximum-set>
        </deployment-permissions>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:security:1.2">
        <security-domains>
            <security-domain name="XXXXX-login" cache-type="default">
                <authentication>
                    <login-module code="Remoting" flag="optional">
                        <module-option name="password-stacking" value="useFirstPass"/>
                    </login-module>
                    <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
                        <module-option name="hashAlgorithm" value="MD5"/>
                        <module-option name="hashEncoding" value="hex"/>
                        <module-option name="dsJndiName" value="java:/XXXXXDS"/>
                        <module-option name="principalsQuery" value="SELECT u.password AS PASSWD FROM XXXXX"/>
                        <module-option name="rolesQuery" value="SELECT DISTINCT f.name AS ROLEID, 'Roles' AS Roles FROM XXXXX=?"/>
                        <module-option name="unauthenticatedIdentity" value="guest"/>
                    </login-module>
                </authentication>
            </security-domain>
            <security-domain name="other" cache-type="default">
                <authentication>
                    <login-module code="Remoting" flag="optional">
                        <module-option name="password-stacking" value="useFirstPass"/>
                    </login-module>
                    <login-module code="RealmDirect" flag="required">
                        <module-option name="password-stacking" value="useFirstPass"/>
                    </login-module>
                </authentication>
            </security-domain>
            <security-domain name="jboss-web-policy" cache-type="default">
                <authorization>
                    <policy-module code="Delegating" flag="required"/>
                </authorization>
            </security-domain>
            <security-domain name="jboss-ejb-policy" cache-type="default">
                <authorization>
                    <policy-module code="Delegating" flag="required"/>
                </authorization>
            </security-domain>
            <security-domain name="jaspitest" cache-type="default">
                <authentication-jaspi>
                    <login-module-stack name="dummy">
                        <login-module code="Dummy" flag="optional"/>
                    </login-module-stack>
                    <auth-module code="Dummy"/>
                </authentication-jaspi>
            </security-domain>
        </security-domains>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:transactions:3.0">
        <core-environment>
            <process-id>
                <uuid/>
            </process-id>
        </core-environment>
        <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:undertow:3.1">
        <buffer-cache name="default"/>
        <server name="default-server">
            <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
            <host name="default-host" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <filter-ref name="server-header"/>
                <filter-ref name="x-powered-by-header"/>
            </host>
        </server>
        <servlet-container name="default">
            <jsp-config/>
            <websockets/>
        </servlet-container>
        <handlers>
            <file name="welcome-content" path="$jboss.home.dir/welcome-content"/>
        </handlers>
        <filters>
            <response-header name="server-header" header-name="Server" header-value="WildFly/10"/>
            <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
        </filters>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:webservices:2.0">
        <wsdl-host>$jboss.bind.address:127.0.0.1</wsdl-host>
        <endpoint-config name="Standard-Endpoint-Config"/>
        <endpoint-config name="Recording-Endpoint-Config">
            <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
            </pre-handler-chain>
        </endpoint-config>
        <client-config name="Standard-Client-Config"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:weld:3.0"/>
    <subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">
        <server name="default">
            <security-setting name="#">
                <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/>
            </security-setting>
            <address-setting name="#" dead-letter-address="jms.queue.DLQ" expiry-address="jms.queue.ExpiryQueue" redelivery-delay="5000" max-delivery-attempts="3" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10"/>
            <in-vm-connector name="in-vm" server-id="0"/>
            <in-vm-acceptor name="in-vm" server-id="0"/>
            <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>
            <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>
            <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
        </server>
    </subsystem>
</profile>

<interfaces>
    <interface name="management">
        <inet-address value="$jboss.bind.address.management:127.0.0.1"/>
    </interface>
    <interface name="public">
        <inet-address value="$jboss.bind.address:127.0.0.1"/>
    </interface>
</interfaces>

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="$jboss.socket.binding.port-offset:0">
    <socket-binding name="management-http" interface="management" port="$jboss.management.http.port:9990"/>
    <socket-binding name="management-https" interface="management" port="$jboss.management.https.port:9993"/>
    <socket-binding name="ajp" port="$jboss.ajp.port:8009"/>
    <socket-binding name="http" port="$jboss.http.port:8082"/>
    <socket-binding name="https" port="$jboss.https.port:8443"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>

这是persistence.xml

    <?xml version="1.0" encoding="UTF-8"?>
<persistence>
    <persistence-unit name="XXX">

        <jta-data-source>java:/XXXDS</jta-data-source>
        <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
        <!--<shared-cache-mode>ALL</shared-cache-mode>-->

        <class>XXXXX</class>

        <properties>
            <property name="hibernate.show_sql" value="false"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.use_sql_comments" value="false"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
            <property name="hibernate.id.new_generator_mappings" value="false"/>
            <property name="hibernate.default_batch_fetch_size" value="100"/>

            <property name="hibernate.cache.use_second_level_cache" value="true"/>

            <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.infinispan.InfinispanRegionFactory"/>
            <property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.CMTTransactionFactory"/>
            <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
            <property name="hibernate.cache.infinispan.entity.eviction.strategy" value="LRU"/>
            <property name="hibernate.cache.infinispan.entity.eviction.wake_up_interval" value="1000"/>
            <property name="hibernate.cache.infinispan.entity.eviction.max_entries" value="10000"/>
            <property name="hibernate.cache.infinispan.entity.expiration.lifespan" value="-1"/>
            <property name="hibernate.cache.infinispan.entity.expiration.max_idle" value="10000"/>
        </properties>
    </persistence-unit>
</persistence>

有什么提示吗?

最好的问候, 曼努埃尔

【问题讨论】:

你使用standalone-full-ha.xml个人资料吗? @FedericoSierra 添加了standalone.xml 和 persistence.xml Wildfly 集群不使用standalone.xml 配置文件,而是使用domain.xml 配置文件(主从服务器)。 @BuhakeSindi 服务器使用./standalone/configuration/ 文件夹中的standalone.xml 文件 根据dzone.com/refcardz/getting-started-infinispan 的第 7 节缓存模式存在一个本地缓存,但我不知道如何配置它 【参考方案1】:

我认为是端口冲突,而不是集群。

在你的standalone.xml,socket-binding-group,而不是定义,例如,http端口8082,你可以定义:

port-offset="$jboss.socket.binding.port-offset:200"

并在 http 和其他服务中恢复默认端口。在此之后,http 端口将是 8080 + 200 = 8280,其他套接字也是如此。

【讨论】:

如果端口冲突,服务不会启动吗? 没有端口冲突,看JGroup添加的地址(127.0.0.1:7800和127.0.0.1:7801)【参考方案2】:

配置文件夹中有多个standalone.xml 示例。正常的standalone.xml 不包括infinispan 集群所需的模块。

非集群基本配置将 infinispan 缓存全部定义为“本地缓存”(比较:复制缓存或分布式缓存)。

如果您不需要standalone-ha 或standalone-full-ha 中包含的其他功能,则只需恢复到原始版本。

有关配置单个子系统的更多信息,请查看: https://docs.jboss.org/author/display/WFLY10/Subsystem+configuration

【讨论】:

你能指出上述和使用的standalone.xml,我可以在哪里关闭它?我没有故意对缓存进行任何更改,尽管我非常不知道这到底是如何工作的...... 是的,我没有详细查看您的standalone.xml。既然我做了并与我的不同,我想你可能还有另一个问题:你确定你是从你发布的standalone.xml开始wildfly吗? “-c”参数可用于引用不同的配置文件。您的日志消息中的所有内容都会向我表明正在使用“standalone-ha.xml”。例如,JGroups 甚至没有包含在发布的配置中,但显然是活跃的。可能会检查服务器是如何启动的。 非常肯定,我在该 xml 中所做的任何更改都会反映在服务器中。日志输出也 sun.java.command = /usr/local/XXX-11b/jboss-modules.jar -mp /usr/local/XXX-11b/modules org.jboss.as.standalone -Djboss.home.dir= /usr/local/XXX-11b -Djboss.server.base.dir=/usr/local/XXX-11b/standalone 在 hibernate/infinispan 模块之一中可能有一个 infinispan-configs.xml,但必须再次被standalone.xml中配置的东西引用或引用 这里 developer.jboss.org/thread/243428 声明“私有 Infinispan 实例将从 org.infinispan 模块的 infinispan-core jar 中提供的默认 jgroups 配置创建自己的通道”

以上是关于在 Wildfly 10.1 中禁用 Infinispan 集群的主要内容,如果未能解决你的问题,请参考以下文章

战争未部署到Wildfly 10.1中

Wildfly 10.1 消耗所有内核

Spring 和 WildFly Infinispan 缓存查找

java8(openjdk 1.8.0_101)和wildfly 10.1环境中jaxws-maven-plugin生成的soap客户端缺少SNI

如何在 WildFly 上禁用 WELD

如何禁用 Wildfly 9.0.2 尝试序列化集群应用程序中的某些类