Hello, everybody! I have a question about context config in Tomcat 8. I migrating project from Tomcat 7 to 8 and have unusual problem: if nothing change in cofig I catched an error: "2015-02-03 12:05:48,310 FIRST_ADMIN ERROR web.context.ContextLoader:331 -> Context initialization failed org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [org.apache.tomcat.dbcp.dbcp2.BasicDataSource@434990dd] with key 'dataSource'; nested exception is javax.management.InstanceAlreadyExistsException: Catalina:type=DataSource,host=localhost,context=/first-admin,class=javax.sql.DataSource,name="jdbc/datasource/first"
Part of context: <Resource name="jdbc/datasource/first" auth="Container" type="javax.sql.DataSource" poolPreparedStatements="true" initialSize="25" maxActive="100" maxIdle="100" minIdle="25" username="us" password="pa" driverClassName="com.mysql.jdbc.Driver" validationQuery="select 1" testOnBorrow="true" url="jdbc:mysql://localhost:3306/firstproject?useUnicode=true&characterEncoding=UTF-8&profileSQL=false&autoSlowLog=false&slowQueryThresholdMillis=100&autoReconnect=true"/> So, it's works in tomcat 7 without any proble. In Tomcat 8 I can solve this problem in 2 ways: 1. By adding to resource: singleton = "false"; 2. By adding to resource: factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" If I clearly understand tomcat creates datasource for my app and for jmx, but in Tomcat 7 it was single object, in Tomcat 8 it must be differents. So my question is why that situation is happend? I coudn't find any information of this change in documentation. And I'm interesting what is better: create single datasource (I think so) or create several by factory. Thanks a lot for help! -- [image: Adamantium] *Vadim Radchikov | Software Engineer* *mob:* +375 29 3300032 *skype:* vadzimik *email:* *v_radchy...@adamantium.net* <n...@adamantium.net>