使用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”
应用程序的配置方式可能有什么问题?
答案 0 :(得分:0)
我修改了application.yaml文件,应用程序正在运行。我将spring.jmx.enabled和spring.jpa.database-platform属性添加到application.yaml文件中。
弹簧: 简介: 活跃的:生产
弹簧: 简介:发展 数据源: 平台:h2
弹簧: 简介:生产 数据源: jndi-name:java:/ comp / env / jdbc / teams 平台:mysql JPA: 冬眠: ddl-auto:create-drop database-platform:org.hibernate.dialect.MySQL5Dialect JMX: 启用:false