【问题标题】:Spring Boot 1.2.1.RELEASE and JNDI ErrorsSpring Boot 1.2.1.RELEASE 和 JNDI 错误
【发布时间】:2015-03-19 17:58:21
【问题描述】:

当我使用 IntelliJ 14.0 将 Web 应用程序部署到本地 Apache Tomcat 实例时收到错误消息。我正在使用 Spring Boot 1.2.1.RELEASE 和 JNDI 连接。

我的 application.yaml 文件的内容如下所示:

spring:
    profiles:
        active: production

---

spring:
    profiles: development
        datasource:
        platform: h2

---

spring:
    profiles: production
        datasource:
            jndi-name: java:/comp/env/jdbc/teams
            platform: mysql
    jpa:
        hibernate:
            ddl-auto: create-drop

我的配置文件 Application.java 如下所示:

@SpringBootApplication
public class Application {

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

}

我使用的是 Apache Tomcat 8.0.15,并在 context.xml 文件中配置了 JNDI 连接。

<Resource name="jdbc/teams" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="***" password="***" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/teams"/> 

我正在使用 IntelliJ 14.0 使用生产配置文件将我的应用程序本地部署到 Apache Tomcat。

当我尝试部署应用程序时收到的错误如下:

org.springframework.jmx.export.UnableToRegisterMBeanException:无法使用键“dataSource”注册 MBean [org.apache.tomcat.dbcp.dbcp2.BasicDataSource@4f83492a];嵌套异常是 javax.management.InstanceAlreadyExistsException: Catalina:type=DataSource,host=localhost,context=/project,class=javax.sql.DataSource,name="jdbc/teams"

应用程序的配置方式可能有什么问题?

【问题讨论】:

  • 你能发布完整的堆栈跟踪吗?我认为您可以通过将spring.jmx.enabled 设置为false 来解决此问题
  • 我修改了 application.yaml 文件,它现在可以工作了。我添加了 spring.jmx.enabled 和 spring.jpa.database-platform 属性。弹簧:配置文件:活动:生产---弹簧:配置文件:开发数据源:平台:h2 ---弹簧:配置文件:生产数据源:jndi-name:java:/comp/env/jdbc/teams平台:mysql jpa:休眠: ddl-auto: create-drop database-platform: org.hibernate.dialect.MySQL5Dialect jmx: enabled: false

标签: java spring spring-boot jndi


【解决方案1】:

我修改了 application.yaml 文件,该应用程序现在可以运行了。我在 application.yaml 文件中添加了 spring.jmx.enabled 和 spring.jpa.database-platform 属性。

弹簧: 简介: 活跃:生产


弹簧: 简介:发展 数据源: 平台:h2


弹簧: 型材:生产 数据源: jndi 名称:java:/comp/env/jdbc/teams 平台:mysql jpa: 休眠: ddl-auto:创建-删除 数据库平台:org.hibernate.dialect.MySQL5Dialect 杰姆斯: 启用:假

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    相关资源
    最近更新 更多