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

在WildFly Swarm中配置PostgreSQL数据源遇NamingNotFoundException问题求助

解决WildFly Swarm中PostgreSQL数据源的NamingNotFoundException问题

看起来你在配置WildFly Swarm的PostgreSQL数据源时遇到了JNDI查找失败的问题,我来帮你一步步排查和解决:

1. 确认PostgreSQL驱动依赖是否正确引入

WildFly Swarm不会自动包含PostgreSQL驱动,你需要在pom.xml中添加对应的依赖项,确保驱动被打包到你的应用中:

<dependencies>
    <!-- WildFly Swarm Datasources核心模块 -->
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>datasources</artifactId>
    </dependency>
    <!-- PostgreSQL JDBC驱动 -->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <!-- 替换为你需要的稳定版本,比如42.6.0 -->
        <version>42.6.0</version>
        <scope>runtime</scope>
    </dependency>
</dependencies>

2. 完善project-defaults.yml中的驱动配置

你的当前配置里,JDBC驱动部分缺少关键配置项,导致WildFly Swarm无法正确识别并加载驱动。更新后的配置需要补充XA数据源类(因为你开启了JTA),同时修正连接URL的完整性:

swarm: 
  datasources: 
    data-sources: 
      ExampleDS: 
        driver-name: pgsql 
        # 补充默认端口5432和你的数据库名称,否则驱动无法定位到具体数据库
        connection-url: jdbc:postgresql://testdb:5432/your_target_db 
        user-name: sa 
        password: sa 
        jta: true 
        use-java-context: true 
        min-pool-size: 8 
    jdbc-drivers: 
      pgsql: 
        driver-class-name: org.postgresql.Driver
        # 开启JTA的情况下必须指定XA数据源类
        xa-datasource-class-name: org.postgresql.xa.PGXADataSource

3. 确保JNDI查找的路径正确

由于你设置了use-java-context: true,数据源会被绑定到java:jboss/datasources/ExampleDS这个标准JNDI路径下,代码中必须使用完整路径查找:

InitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource) initialContext.lookup("java:jboss/datasources/ExampleDS");

如果只写ExampleDS进行查找,会因为找不到对应命名空间而抛出NamingNotFoundException。

4. 额外排查点

  • 确认testdb主机可以被应用访问,默认端口5432是否开放
  • 检查WildFly Swarm版本与PostgreSQL驱动版本的兼容性(比如PostgreSQL 42.x+需要WildFly Swarm 2018.x及以上版本支持)
  • 启动应用时查看日志,是否有驱动加载失败的提示,这能快速定位配置问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:15:29