This is a Spring Boot multi-tenant sample application which supports all multiple-tenancy models. By default multi schema model is enabled. Multi-Tenancy model is enabled using Hibernate multi-tenancy support.
There are multiple well-known strategies to implement this architecture, ranging from highly isolated (like single-tenant) to everything shared. We can implement multi-tenancy using any of the following approaches:
By Default Shared Database, Separate Schema approach is enabled. It works with JdbcTemplate also which is not natively supported by Spring Multi-Tenancy. When using Multi-tenancy in Spring Boot Table needs to be created externally. Auto table creation needs to be turned off. We will use Public Schema as the default schema. The DDL to create the table are present in DDL.sql in resources folder.
Being Maven centric, you can compile and package it without tests using:
mvn clean package -Dmaven.test.skip=true
Once you have your jar file, you can run it.
To run it you can go to the Maven target folder generated and execute the following command:
java -jar multitenant-XXX.jar
Once started you can go and request the data using different tenants :
curl -X POST http://localhost:8080/ -H 'Content-Type: application/json' -H 'X-TenantID: test1' -d '{"name":"Mumbai"}'
curl -X POST http://localhost:8080/ -H 'Content-Type: application/json' -H 'X-TenantID: test2' -d '{"name":"Kolkata"}'
curl -X GET http://localhost:8080/ -H 'Content-Type: application/json' -H 'X-TenantID: test1'
curl -X GET http://localhost:8080/ -H 'Content-Type: application/json' -H 'X-TenantID: test2'
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。