You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WildFly 11中添加Jedis模块作为数据源失败求助

问题:WildFly 11配置Redis数据源失败(使用Jedis 5.1.0)

操作步骤

  • 创建Jedis模块目录并放置jar包:在$JBOSS_HOME/modules/system/layers/base下创建org/redis/jdbc/main目录,放入jedis-5.1.0.jar。
  • 编写Jedis模块的module.xml:
<?xml version="1.0" encoding="UTF-8"?>    
<module xmlns="urn:jboss:module:1.5" name="org.redis.jdbc">    
    <resources>    
        <resource-root path="jedis-5.1.0.jar"/>    
    </resources>    
    <dependencies>    
        <module name="org.apache.commons.pool2"/>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>    
</module>
  • 创建commons-pool2模块:在$JBOSS_HOME/modules/system/layers/base下创建org/apache/commons/pool2/main目录,放入commons-pool2-2.12.0.jar,并编写module.xml:
<module xmlns="urn:jboss:module:1.5" name="org.apache.commons.pool2">    
    <properties>    
        <property name="jboss.api" value="private"/>    
    </properties>    
    <resources>    
        <resource-root path="commons-pool2-2.12.0.jar"/>    
    </resources>    
    <dependencies>    
    </dependencies>    
</module>    
  • 验证模块加载:通过jboss-cli执行命令确认模块加载:
--command="/core-service=module-loading:list-resource-loader-paths(module=org.redis.jdbc)"
  • 配置数据源与驱动(在standalone-ha.xml中):
    数据源配置:
<datasource jta="true" jndi-name="java:jboss/datasources/REDISDS" pool-name="redisds" enabled="true" use-java-context="true">    
    <connection-url>jdbc:redis://REDIS_IP:6379</connection-url>    
    <driver>redis</driver>    
    <pool>    
        <min-pool-size>5</min-pool-size>    
        <max-pool-size>20</max-pool-size>    
        <prefill>true</prefill>    
    </pool>    
    <security>    
        <user-name>SAME_AS_PASSWORD</user-name>    
        <password>PASSWORD</password>    
    </security>    
    <validation>    
        <background-validation>true</background-validation>    
        <background-validation-millis>60000</background-validation-millis>    
        <validate-on-match>true</validate-on-match>    
        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>    
    </validation>    
</datasource>

驱动配置(注释了不存在的类):

<driver name="redis" module="org.redis.jdbc">
    <!-- <driver-class>redis.clients.jedis.JedisConnectionFactory</driver-class> -->
    <!-- <xa-datasource-class>redis.clients.jedis.RedisDataSource</xa-datasource-class> -->
</driver>

启动错误信息

09:24:18,575 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "redisds")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.redis"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
    "org.wildfly.data-source.redisds is missing [jboss.jdbc-driver.redis]",
    "jboss.driver-demander.java:jboss/datasources/REDISDS is missing [jboss.jdbc-driver.redis]"
]
}
09:24:18,577 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "redisds")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => [
    "jboss.jdbc-driver.redis",
    "jboss.jdbc-driver.redis"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
    "org.wildfly.data-source.redisds is missing [jboss.jdbc-driver.redis]",
    "jboss.driver-demander.java:jboss/datasources/REDISDS is missing [jboss.jdbc-driver.redis]",
    "org.wildfly.data-source.redisds is missing [jboss.jdbc-driver.redis]"
]
}

问题结论

你的怀疑完全正确:Jedis并不是JDBC兼容驱动,它只是Redis的Java客户端库,并未实现JDBC规范要求的Driver或DataSource接口,因此无法作为JDBC数据源在WildFly的datasources子系统中配置使用。

你使用商业JDBC驱动成功配置的案例也验证了这一点——只有实现JDBC规范的驱动才能被WildFly的数据源管理系统识别加载。

若要在WildFly中集成Redis,推荐两种方式:

  1. 保留现有Jedis模块配置,在应用代码中直接通过Jedis客户端API操作Redis;
  2. 使用支持JDBC的Redis驱动(如开源的redis-jdbc-driver或合规商业驱动)来配置数据源。

内容的提问来源于stack exchange,提问作者Sudipta Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:42:03