6.7. 使用外部 JGroups 堆栈
引用在 infinispan.xml
文件中定义自定义 JGroups 堆栈的外部文件。
流程
将自定义 JGroups 堆栈文件放在应用类路径上。
或者,您可以在声明外部堆栈文件时指定绝对路径。
使用
stack-file
元素引用外部堆栈文件。<infinispan> <jgroups> <!-- Creates a "prod-tcp" stack that references an external file. --> <stack-file name="prod-tcp" path="prod-jgroups-tcp.xml"/> </jgroups> <cache-container default-cache="replicatedCache"> <!-- Use the "prod-tcp" stack for cluster transport. --> <transport stack="prod-tcp" /> <replicated-cache name="replicatedCache"/> </cache-container> <!-- Cache configuration goes here. --> </infinispan>
您还可以使用 TransportConfigurationBuilder
类中的 addProperty ()
方法来指定自定义 JGroups 堆栈文件,如下所示:
GlobalConfiguration globalConfig = new GlobalConfigurationBuilder().transport() .defaultTransport() .clusterName("prod-cluster") //Uses a custom JGroups stack for cluster transport. .addProperty("configurationFile", "my-jgroups-udp.xml") .build();
在本例中,my-jgroups-udp.xml
使用自定义属性引用 UDP 堆栈,如下所示:
自定义 UDP 堆栈示例
<config xmlns="urn:org:jgroups" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.2.xsd"> <UDP bind_addr="${jgroups.bind_addr:127.0.0.1}" mcast_addr="${jgroups.udp.mcast_addr:192.0.2.0}" mcast_port="${jgroups.udp.mcast_port:46655}" tos="8" ucast_recv_buf_size="20000000" ucast_send_buf_size="640000" mcast_recv_buf_size="25000000" mcast_send_buf_size="640000" max_bundle_size="64000" ip_ttl="${jgroups.udp.ip_ttl:2}" enable_diagnostics="false" thread_naming_pattern="pl" thread_pool.enabled="true" thread_pool.min_threads="2" thread_pool.max_threads="30" thread_pool.keep_alive_time="5000" /> <!-- Other JGroups stack configuration goes here. --> </config>