Description
In my app I have two PlatformTransactionManager beans: one for MongoDB and one for RabbitMQ. Neither of them is marked as the primary bean. I also have disabled the transactions in MongoCK via mongock.transaction-enabled: false. This setup causes an application startup error with the following message:
Parameter 3 of method connectionDriver in io.mongock.driver.mongodb.springdata.v4.config.SpringDataMongoV4ContextBase required a single bean, but 2 were found
So although the transaction usage in MongoCK has been disabled, the configuration in SpringDataMongoV4ContextBase still requires that either 0 or 1 PlatformTransactionManager beans are present, instead of ignoring those beans completely.
PRIORITY
NORMAL, since a workaround is possible by marking one of the beans as @Primary
Version and environment
Mongock
- Mongock version: 5.3.4
- Modules involved: mongock-springboot-v3, mongodb-springdata-v4-driver
- How Mongock is used: annotation approach (via
@EnableMongock and application.yaml)
Environment
- Framework and libraries versions. Especially those that affect directly to Mongock(Spring, Spring data, MongoDB driver, etc.)
Spring Boot 3.1.3, Spring Data MongoDB 4.1.3, MongoDB driver 4.9.1
- Infrastructure: Kubernetes, Docker, SO, etc.
N/A, issue is occurring locally
Steps to Reproduce
- Create a Spring Boot app with two or more
PlatformTransactionManager beans
- Set
mongock.transaction-enabled: false
- Start app
Behaviour
Expected behavior: [What you expect to happen]
MongoCK ignores PlatformTransactionManager beans, app starts normally
Actual behavior: [What actually happens]
An error message is displayed, app does not start
How often the bug happens: [What percentage of the time does it reproduce?]
Always
Description
In my app I have two
PlatformTransactionManagerbeans: one for MongoDB and one for RabbitMQ. Neither of them is marked as the primary bean. I also have disabled the transactions in MongoCK viamongock.transaction-enabled: false. This setup causes an application startup error with the following message:So although the transaction usage in MongoCK has been disabled, the configuration in
SpringDataMongoV4ContextBasestill requires that either 0 or 1PlatformTransactionManagerbeans are present, instead of ignoring those beans completely.PRIORITY
NORMAL, since a workaround is possible by marking one of the beans as
@PrimaryVersion and environment
Mongock
@EnableMongockandapplication.yaml)Environment
Spring Boot 3.1.3, Spring Data MongoDB 4.1.3, MongoDB driver 4.9.1
N/A, issue is occurring locally
Steps to Reproduce
PlatformTransactionManagerbeansmongock.transaction-enabled: falseBehaviour
Expected behavior: [What you expect to happen]
MongoCK ignores
PlatformTransactionManagerbeans, app starts normallyActual behavior: [What actually happens]
An error message is displayed, app does not start
How often the bug happens: [What percentage of the time does it reproduce?]
Always