Skip to content
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

Datagraph 311: Serialization of Query Results and Entities #124

Merged
merged 4 commits into from Aug 30, 2013

Conversation

nickithewatt
Copy link

@jexp - as discussed, initial Serialization approach provided in this PR. Let me know what you think

jexp added a commit that referenced this pull request Aug 30, 2013
Datagraph 311: Serialization of Query Results and Entities
@jexp jexp merged commit bf60ad3 into spring-projects:master Aug 30, 2013
michael-simons added a commit that referenced this pull request Jul 2, 2020
This fixes #124 by providing the a Neo4jDatabaseNameProvider.

The Neo4jDatabaseNameProvider allows for configuring the database used by all transactions managers and all templates. The configured database will be passed on to the Neo4j templates, both reactive and imperative. The Neo4j clients are still be able to use all databases, they don't know a fixed database name provider.

The database name provider must of course be provided to the transaction managers. Both reactive and imperative transaction managers keep on synchronising on the driver, but check the target database and will prevent switching the database in-between an application level transaction.

For those scenarios where a client wants to use a different database than the one configured with the default transaction manager, it must run in an implicit (aka auto commit transaction) or run a second transaction manager, configured to use the correct database.

In case interactions spawn multiple databases, several transaction managers must be applied and the propagation behaviour needs to be `REQUIRES_NEW`, meaning an ongoing transaction will be suspended when the database is switched and resumed when the inner transaction finishes.

The commit also contains the requried properties for the Spring Boot autoconfiguration.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants