mysql - Spring JPA not connecting to multiple databases: Saying entity managers found 2 -


this new file i've added in addition existing persistenceconfig.java. i'm getting entity manager 2 found.

  1. we're not using xml config except jpa repositories in spring-data.xml

  2. the issues occuring 1 package created newly logging activity , included in jpa repository.

before adding below class, normal previously

package com.jumbotree.kumcha.config;  import java.util.properties;  import javax.persistence.entitymanagerfactory; import javax.persistence.persistencecontext; import javax.sql.datasource;  import org.slf4j.logger; import org.slf4j.loggerfactory; import org.springframework.beans.factory.factorybean; import org.springframework.beans.factory.annotation.autowired; import org.springframework.beans.factory.annotation.qualifier; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.context.annotation.importresource; import org.springframework.context.annotation.propertysource; import org.springframework.core.env.environment; import org.springframework.dao.annotation.persistenceexceptiontranslationpostprocessor; import org.springframework.dao.support.persistenceexceptiontranslator; import org.springframework.data.jpa.repository.config.enablejparepositories; import org.springframework.jdbc.datasource.drivermanagerdatasource; //import org.springframework.orm.hibernate5.hibernateexceptiontranslator; import org.springframework.orm.hibernate4.hibernateexceptiontranslator; import org.springframework.orm.jpa.jpatransactionmanager; import org.springframework.orm.jpa.jpavendoradapter; import org.springframework.orm.jpa.localcontainerentitymanagerfactorybean; import org.springframework.orm.jpa.vendor.hibernatejpavendoradapter; import org.springframework.transaction.platformtransactionmanager; import org.springframework.transaction.annotation.enabletransactionmanagement;  @configuration @enabletransactionmanagement //@propertysource("classpath:kumcha.properties") @propertysource("file:/opt/jumbotree/kumcha2/kms.properties") @enablejparepositories(basepackages = "com.jumbotree.kumcha.crm.model", entitymanagerfactoryref = "createentitymanagerfactorychargingbean", transactionmanagerref = "createchargingtransactionmanagerbean") @importresource("classpath:spring-data.xml") public class chargingpersistenceconfig {     @autowired     private environment env;      private static final logger logger = loggerfactory.getlogger(chargingpersistenceconfig.class);       @bean       public datasource createchargingdatasourcebean() {         logger.info("charging datasource created...");         drivermanagerdatasource datasource = new drivermanagerdatasource();         datasource.setdriverclassname(env.getproperty("charging.db.driver"));         datasource.seturl(env.getproperty("charging.db.url"));         datasource.setusername(env.getproperty("charging.db.username"));         datasource.setpassword(env.getproperty("charging.db.password"));         return datasource;     }      //here entity manager added , causing issue     @bean   //(name = "entitymanagerfactorycharging")     @persistencecontext (unitname="chargingpu")     public factorybean<entitymanagerfactory> createchargingentitymanagerfactorybean(@qualifier("createchargingdatasourcebean") datasource dsc) {         localcontainerentitymanagerfactorybean chargingentitymanagerfactorybean = new localcontainerentitymanagerfactorybean();         logger.info("charging entityman created...");         try {             chargingentitymanagerfactorybean.setdatasource(createchargingdatasourcebean());             chargingentitymanagerfactorybean.setpackagestoscan("com.jumbotree.kumcha.crm.model");             chargingentitymanagerfactorybean.setjpavendoradapter(createjpavendoradapterbean());             chargingentitymanagerfactorybean.setjpaproperties(createjpaproperties());         } catch (exception e) {             // todo: handle exception             logger.error(e.tostring());         }           return chargingentitymanagerfactorybean;     }      private properties createjpaproperties() {         logger.info("hibernate.show_sql :::: "+env.getproperty("hibernate.show_sql"));         return new properties() {             { //                setproperty("hibernate.hbm2ddl.auto", "create-drop");                 setproperty("hibernate.show_sql", env.getproperty("hibernate.show_sql"));                 setproperty("hibernate.format_sql", env.getproperty("hibernate.format_sql"));                // setproperty("hibernate.cache.use_second_level_cache", "true");                // setproperty("hibernate.cache.provider_class", "org.hibernate.cache.ehcacheprovider");                // setproperty("shared-cache-mode", "disable_selective");                 //<property name="hibernate.cache.use_second_level_cache" value="true"/>                 //setproperty("hibernate.connection.zerodatetimebehavior", "converttonull");             }         };     }      private jpavendoradapter createjpavendoradapterbean() {         hibernatejpavendoradapter jpavendoradapter = new hibernatejpavendoradapter(); //        jpavendoradapter.setdatabase(database.valueof(env.getproperty("db.name")));         jpavendoradapter.setshowsql(true); //        jpavendoradapter.setgenerateddl(true);         jpavendoradapter.setdatabaseplatform(env.getproperty("hibernate.dialect"));         return jpavendoradapter;     }      @bean   //(name = "transactionmanager")     public platformtransactionmanager createchargingtransactionmanagerbean() throws exception {         logger.info("charging transactionman created...");         jpatransactionmanager chargingtransactionmanager = new jpatransactionmanager();         chargingtransactionmanager.setentitymanagerfactory(createchargingentitymanagerfactorybean(createchargingdatasourcebean()).getobject());         return chargingtransactionmanager;     }      @bean     public persistenceexceptiontranslationpostprocessor createpersistenceexceptiontranslationpostprocessor() {         return new persistenceexceptiontranslationpostprocessor();     }      // required if using hibernate 4     @bean     public persistenceexceptiontranslator createpersistenceexceptiontranslatorbeaan() {         return new hibernateexceptiontranslator();     }  } 

loggerrepository cannot choose 1 of 2 beans createchargingentitymanagerfactorybean , createentitymanagerfactorybean

make 1 of them primary and/or specify qualifier. (btw qualifier it's necessary make 1 of beans primary)

cannot suggest cconfig changes without code.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -