Java.lang.illegalstateException: java.lang.nosuchmethoderror: ошибка при настройке нескольких баз данных в проекте SprinJAVA

Программисты JAVA общаются здесь
Anonymous
Java.lang.illegalstateException: java.lang.nosuchmethoderror: ошибка при настройке нескольких баз данных в проекте Sprin

Сообщение Anonymous »

Я пытаюсь сделать образце микросервиса, который включает в себя извлечение данных из нескольких баз данных. И при настройке я получаю исключение в потоке "Main" java.lang.illegalStateException: java.lang.nosuchmethoderror: 'void org.springframework.data.jpa.repository.config.jparepositoryConfigextension.RegisterLazyFnotalEREDEDEREDERED
Я сохранил всю свою модель, контроллер и классы репозитория отдельно для отдельных пакетов, например, следующие: < /p>
com.multidb.primary.controller
com.multidb.primary.model
com.multidb.primary.repository
com.multidb.secondary.controller
com.multidb.secondary.model
com.multidb.secondary.repository
[/code]
и создал 2 отдельного класса конфигурации для первичного и вторичного. Я продолжал в пакете com.multidb.config с promiserconfig.java и secondaryconfig.java < /p>

Код: Выделить всё

com.multidb.config.PrimaryConfig.java
com.multidb.config.SecondaryConfig.java
primaryConfig.java файл:

Код: Выделить всё

@Configuration
@EnableJpaRepositories(
basePackages = "com.multidb.primary.repository",
entityManagerFactoryRef = "primaryEntityManagerFactory",
transactionManagerRef = "primaryTransactionManager"
)
public class PrimaryConfig {

@Bean(name = "primaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "primaryEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean primaryEntityManagerFactory(
@Qualifier("primaryDataSource") DataSource dataSource) {
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource);
em.setPackagesToScan(new String[] { "com.multidb.primary.model" });
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
return em;
}
@Bean(name = "primaryTransactionManager")
public PlatformTransactionManager primaryTransactionManager(
@Qualifier("primaryEntityManagerFactory") EntityManagerFactory entityManagerFactory)
{
return new JpaTransactionManager(entityManagerFactory);
}
}
secondaryconfig.java:

Код: Выделить всё

@Configuration
@EnableJpaRepositories(
basePackages = "com.multidb.secondary.repository",
entityManagerFactoryRef = "secondaryEntityManagerFactory",
transactionManagerRef = "secondaryTransactionManager"
)
public class SecondaryConfig {

@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean secondaryEntityManagerFactory(
@Qualifier("secondaryDataSource") DataSource dataSource) {
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource);
em.setPackagesToScan(new String[] { "com.multidb.secondary.model" });
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
return em;
}
@Bean(name = "secondaryTransactionManager")
public PlatformTransactionManager secondaryTransactionManager(
@Qualifier("secondaryEntityManagerFactory") EntityManagerFactory entityManagerFactory) {
return new JpaTransactionManager(entityManagerFactory);
}

}
< /code>
[b] Ошибка, как следующее: < /strong> < /p>

исправить класс вашего приложения, чтобы он содержит единую совместимую версию org.springframework.data.jpa.repository.config.jparepositoryConficeRame.data.jpa.Repository.config.jparepositoryConficeRame.data.jpa.Repository.config.jparepositoryConficeRame.  java.lang.illegalstateexception: java.lang.nosuchmethoderror: 'void org.springframework.data.jpa.repository.config.jparepositoryconfigextension.registerlazyifnotalredeged (java.util.supplier, org.springframework.beans.factory.support.beandefinitionregistry, java.lang.string, java.lang.object) '

 Указанные учебники: [/b] 

[b] />https://mookypoo.medium.com/spring-boot-connect-to-multiple-databases-4cd56773fbcc написан ммутле /> < /li>
  Настройка и используйте два источника данных < /p>
< /li>
< /ul>
P> Strong>pom.xml:[/b]
>>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.springframework.boot
spring-boot-starter-parent
3.5.4
 

com.multidb
MultiDb
0.0.1-SNAPSHOT
war
MultiDb
Demo project for Spring Boot














17



org.springframework.boot
spring-boot-starter-data-jpa


org.springframework.boot
spring-boot-starter-web


org.postgresql
postgresql
runtime


org.springframework.boot
spring-boot-starter-tomcat
provided


org.springframework.boot
spring-boot-starter-test
test







org.springframework.boot
spring-boot-maven-plugin





обновление/модификация после предложенной версии Springboot 3.3.3

Код: Выделить всё

org.springframework.boot
spring-boot-starter-parent
3.3.3 // changed from 3.5.4 to 3.3.3
 

Обновленное сообщение об ошибке

Код: Выделить всё

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)


Может ли кто -нибудь предложить, куда я не неправильно внедрил или предложил хорошую документацию?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ile-config

Вернуться в «JAVA»