Class SchemaDelegatingProperties
java.lang.Object
com.broadleafcommerce.common.jpa.data.SchemaDelegatingProperties
Additional properties that define datasource configuration that employs
SchemaDelegatingDataSource
and included as part of a larger JpaPropertyRelated
property file. This allows through configuration alone a setup that declares multiple datasources
(each tied to a schema) backed by a common base datasource. This config is generally employed as
part of a uber service installation where multiple services run together in a single JVM.
Configuration is achieved similar to the following:
broadleaf: database: provider: jpa composite: datasource: url: 'jdbc:postgresql://localhost:5432/broadleaf' username: broadleaf password: demo hikari: maximumPoolSize: 10 properties: hibernate: jdbc: lob: non_contextual_creation: true adminnavigation: liquibase: change-log: 'classpath:/db/changelog/adminnavigation.postgres.changelog-master.yaml' liquibase-schema: public default-schema: adminnavigation delegating: schema: adminnavigation delegate-ref: composite
Note, that an arbitrary datasource configuration (honoring structure described in
DataSourceProperties
) is included at broadleaf.composite
(the broadleaf prefix is
inferred by the system). This represents the base datasource to which connection retrieval is
delegated. Then, in broadleaf.adminnavigation.delegating
, we describe the properties
fulfilled here in SchemaDelegatingProperties
, which are realized in
SchemaDelegatingDataSource
. Note that delegate-ref
is pointing back to the base
datasource configuration.
The properties here are optional and can be defined instead of
JpaPropertyRelated.getDatasource()
. If JpaPropertyRelated.getDatasource()
related
properties are used in configuration instead, it is assumed the service wishes to utilize a
traditional, isolated datasource. Several services in an overall uber configuration may use
JpaPropertyRelated.getDatasource()
, while others may instead composite datasource
connection management through JpaPropertyRelated.getDelegating()
related properties.
Different combinations may be employed and there are no restrictions to quantity of either.- Author:
- Jeff Fischer
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionThe back-reference to another section of configuration that fully describes the base datasource backing theSchemaDelegatingDataSource
.The schema that borrowed connections should be initialized to inSchemaDelegatingDataSource
.void
setDelegateRef
(String delegateRef) The back-reference to another section of configuration that fully describes the base datasource backing theSchemaDelegatingDataSource
.void
The schema that borrowed connections should be initialized to inSchemaDelegatingDataSource
.
-
Constructor Details
-
SchemaDelegatingProperties
public SchemaDelegatingProperties()
-
-
Method Details
-
getSchema
The schema that borrowed connections should be initialized to inSchemaDelegatingDataSource
. -
setSchema
The schema that borrowed connections should be initialized to inSchemaDelegatingDataSource
. -
getDelegateRef
The back-reference to another section of configuration that fully describes the base datasource backing theSchemaDelegatingDataSource
. -
setDelegateRef
The back-reference to another section of configuration that fully describes the base datasource backing theSchemaDelegatingDataSource
.
-