jboss如何配置redis的session共享
时间: 2023-10-27 09:06:14 浏览: 188
要使用Redis作为JBoss的Session共享存储,需要配置以下步骤:
1. 首先,在JBoss服务器上安装Redis服务器和相关的Java Redis客户端
2. 在JBoss服务器的standalone.xml文件中添加以下配置:
```
<subsystem xmlns="urn:jboss:domain:infinispan:6.0" default-cache-container="web" jndi-name="infinispan">
<cache-container name="web" jndi-name="infinispan/web">
<transport lock-timeout="60000"/>
<distributed-cache name="sessions" mode="SYNC" segmented="false">
<expiration max-idle="1800000"/>
<persistence passivation="false">
<file-store path="${jboss.server.temp.dir}/infinispan/web/sessions" />
</persistence>
<partition-handling when-split="MERGE" merge-policy="REMOVE_ALL" />
<file-store />
<remote-store>
<property name="hotrod-client-properties" value="hotrod-client.properties"/>
<property name="remote-cache-name" value="sessions"/>
<property name="raw-values" value="false"/>
<property name="shared" value="true"/>
<property name="preload" value="true"/>
</remote-store>
</distributed-cache>
</cache-container>
</subsystem>
```
3. 新建一个hotrod-client.properties文件,内容如下:
```
infinispan.client.hotrod.server_list=redis_host:redis_port
```
其中,redis_host是Redis服务器的地址;redis_port是Redis服务器的端口号。
4. 将hotrod-client.properties文件放在JBoss服务器的classpath下。
5. 在Web应用程序的web.xml文件中添加以下配置:
```
<session-config>
<session-store-name>infinispan</session-store-name>
<cookie-config>
<path>/</path>
</cookie-config>
</session-config>
```
6. 重新启动JBoss服务器,即可使用Redis作为Session共享存储。
注意: 多个JBoss服务器之间通过Redis共享Session时,需要保证Redis使用的是同一个实例。
阅读全文