In working with the infinispan translator there is a situation where defining a project that has no relational sources, but uses infinispan and a rest source on startup gives:
Description: The bean 'dataSource', defined in class path resource [org/teiid/spring/autoconfigure/TeiidAutoConfiguration.class], could not be registered. A bean with that name has already been defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class] and overriding is disabled. Action: Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
Our starter has a reference to tomcat-jdbc, so that will always be in the classpath making that DataSourceConfiguration eligible.
The best solution seems to be for the TeiidAutoConfiguration to be marked with
@AutoConfigureBefore({ DataSourceAutoConfiguration.class })
so that it will install the primary datasource bean first.
- relates to
-
TEIIDSB-147 Caching and materialization changes for JDG / OpenShift
- Resolved