當我將使用IntelliJ 14.0的Web應用程序部署到本地Apache Tomcat實例時,收到錯誤消息。我正在使用Spring Boot 1.2.1.RELEASE和JNDI連接。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:無法註冊的MBean [org.apache.tomcat.dbcp.dbcp2.BasicDataSource @ 4f83492a]與關鍵'dataSource';嵌套的異常是javax.management.InstanceAlreadyExistsException:Catalina:type = DataSource,host = localhost,context =/project,class = javax.sql.DataSource,name =「jdbc/teams」
有什麼可能是錯誤的方式應用程序已配置?
您可以發佈完整的堆棧跟蹤嗎?我認爲你可以通過將'spring.jmx.enabled'設置爲'false'來解決這個問題 – 2015-01-21 11:22:58
這裏是:http://codeviewer.org/view/code:4ae8 – tendryll 2015-01-21 15:42:11
我修改了application.yaml文件它現在正在工作。我添加了spring.jmx.enabled和spring.jpa.database-platform屬性。 春: 型材: 活躍:生產 --- 春: 概況:發展 數據源: 平臺:H2 --- 春: 模式:生產 數據源: JNDI -name:java:/ comp/env/jdbc/teams platform:mysql jpa: hibernate: ddl-auto:create-drop database-platform:org.hibernate.dialect.MySQL5Dialect jmx: enabled:false – tendryll 2015-01-21 15:46:09