routing-data-source | using Spring RoutingDataSource and custom annotations | Build Tool library

 by   afedulov Java Version: Current License: No License

kandi X-RAY | routing-data-source Summary

kandi X-RAY | routing-data-source Summary

routing-data-source is a Java library typically used in Utilities, Build Tool, Spring applications. routing-data-source has no bugs, it has no vulnerabilities, it has build file available and it has low support. You can download it from GitHub.

Example of using Spring RoutingDataSource and custom annotations to determine concrete DataSource

            kandi-support Support

              routing-data-source has a low active ecosystem.
              It has 24 star(s) with 28 fork(s). There are 3 watchers for this library.
              It had no major release in the last 6 months.
              There are 0 open issues and 2 have been closed. On average issues are closed in 5 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of routing-data-source is current.

            kandi-Quality Quality

              routing-data-source has 0 bugs and 0 code smells.

            kandi-Security Security

              routing-data-source has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              routing-data-source code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              routing-data-source does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              routing-data-source releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              routing-data-source saves you 193 person hours of effort in developing the same functionality from scratch.
              It has 475 lines of code, 24 functions and 15 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed routing-data-source and discovered the below as its top functions. This is intended to give you an instant insight into routing-data-source implemented functionality, and help decide if they suit your requirements.
            • Test
            • Test master update
            • Test database
            • Test replica
            • Get the current database type
            • Annotation point
            • Sets the DB type
            • Clear database type
            • Handles a writeConnection
            • Determines the current lookup key
            Get all kandi verified functions for this library.

            routing-data-source Key Features

            No Key Features are available at this moment for routing-data-source.

            routing-data-source Examples and Code Snippets

            No Code Snippets are available at this moment for routing-data-source.

            Community Discussions


            REST POST service to persist into two different datasource using AbstractRoutingDataSource
            Asked 2019-Oct-07 at 04:56

            Hi everyone I've follow this guide to realize a Multi-tenant application with Spring-Boot:


            Everything works fine, I use an interceptor to intercept http request and based on my business logic set tanant_A or tenant_B. In my use case I have only one scenario, where I have to set tenant_A, persist data on this DataSource in a Transaction, and after that I have to persist the same data on tenant B using the same Entities and Repositories (tenant_B is a REPLICA of tenant_A).

            Example my REST controller:



            Answered 2018-Dec-04 at 16:05

            The problem is with my Repository Class:



            Connection to one from two Identical databases in Spring boot application at RUNTIME
            Asked 2019-Apr-22 at 19:31

            I'm getting an issue with Spring framework while I try to connect to 2 identical databases (with same tables) and then choose one of them to make requests. I'm using for this, 3 config files DbConfig, AbstractRoutingDataSource and an file. I'm currently not getting any ERRORS, while starting my application, but any time I use my restful webservice I get empty data, check the controller file below.

            NOTE: I've followed all these links and still no results:

            1. Baeldung AbstractRoutingDataSource guide
            2. Alexander guide
            3. Dynamic DataSource Routing on Spring website

            I'm working on Spring boot v2.0.5.

            NOTE: please do NOT answer me if you don't have any ideas about AbstractRoutingDataSource class and how it works.

            My file ...


            Answered 2018-Dec-06 at 11:52

            Well I found the solution! The problem was simply with my .properties and my DbConfig files. I just omitted databases parameters from .properties file and added them manually to my DbConfig file. and it works fine:

            My Properties file



            Spring JPA: How to update 2 different tables in 2 different `DataSource` in the same request?
            Asked 2018-Dec-13 at 10:32

            In our application, we have a common database called central and every customer will have their own database with exactly the same set of tables. Each customer's database might be hosted on our own server or the customer's server based on the requirement of the customer organization.

            To handle this multi-tenant requirement, we're extending the AbstractRoutingDataSource from Spring JPA and overriding the determineTargetDataSource() method to create a new DataSource and establish a new connection on the fly based on the incoming customerCode. We also use a simple DatabaseContextHolder class to store the current datasource context in a ThreadLocal variable. Our solution is similar to what is describe in this article.

            Let's say in a single request, we'll need to update some data in both the central database and the customer's database as following.



            Answered 2018-Dec-13 at 10:32

            We found a working solution, which is a mix of static data source settings for our central database and dynamic data source settings for our customer's database.

            In essence, we know exactly which table comes from which database. Hence, we were able to separate our @Entity classes into 2 different packages as following.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install routing-data-source

            You can download it from GitHub.
            You can use routing-data-source like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the routing-data-source component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer For Gradle installation, please refer .


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone afedulov/routing-data-source

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link