-
Notifications
You must be signed in to change notification settings - Fork 40.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The auto-configured reactiveNeo4jTransactionManager may cause a failure due to multiple TransactionManager beans #40895
Comments
@michael-simons am I right in thinking that you discussed this one a few months ago with @odrotbohm and you were in favor of making the reactive auto-configuration conditional on a |
Hej, yep, that was our last common understanding. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
@wilkinsona The idea is to drop the dependency on the neo4j-java-driver with reactor dependencies in favour of a driver distribution that contains it as a shaded dependency. This way we could get rid of the (wrong) implication that users want to use reactive. Need to make up my mind and some technical experiments about the implications this might have. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as resolved.
This comment was marked as resolved.
@meistermeier thanks, that sounds good to me. I guess we should change the auto-configuration to require a |
I'm confused here as reverting the entirety of b6467ed does not result in a failure. I expected it to do so due to SDN requiring a transaction manager. @meistermeier @michael-simons, has something changed in this area in Spring Data Neo4j since the Spring Data 2023.1.3 release train? |
In 2023.1.3 we introduced the requirement for transaction managers on lower level than repositories: spring-projects/spring-data-neo4j@382214d As I said, the cleanest way would be to finally have a clean separation of reactive and imperative demands, based on the user requested dependencies and not our driver bringing project reactor as a dependency for every use-case. |
We didn't want to do that as it would result in a breaking change for users when they upgraded to a new maintenance release. b6467ed was intended to fix the problem in a way that would not affect users. Unfortunately, it didn't quite achieve its goal as it just swapped one problem for another. Given that the build now passes (locally anyway) with b6467ed reverted, I am going to go ahead and do that. We can then take things from there. |
Bug report
In commit: b6467ed add
rectiveNeo4jTransactionManager
bean at classNeo4jReactiveDataAutoConfiguration
When use neo4j and other spring-data project, like jpa. And use
@Transicational
annotation.Will get error like below:
The workaround I use is add
Neo4jReactiveDataAutoConfiguration
to application like this:@SpringBootApplication(exclude = Neo4jReactiveDataAutoConfiguration.class)
But I think we need a proper way to avoid this error.
The text was updated successfully, but these errors were encountered: