You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

WORK IN PROGRESS

This page applies to you when you want a different data storage for the persistence-API than the default which is provided in the Customerdata service

The default implementation for the persistence-API is the Customerdata service. This page provides information about implementing a custom data storage for the Customerdata service by extending the existing Customerdata service. This is suitable in case of an different database or different database scheme.

Please note that the Customerdata service is written in Java and Spring. Because of this extending the Customerdata Service with custom implementation also requires you to use Java and Spring. Also maven is used as build tool.

Custom components

 

For creating this custom data store implementation two components of the existing Customerdata service need to be replaced with a custom implementation.

  • blueriq-customerdata-sql-store-service → custom data store implementation
  • blueriq-customerdata-sql-store-application → custom War application

 

blueriq-customerdata-sql-store-service

The blueriq-customerdata-sql-store-service is a Hibernate implementation which stores the data in the database. For storing the data in a different database or different data structure you need to replace this part with your own implementation which handles the data storage using blueriq-customerdata-api-v1.

blueriq-customerdata-sql-store-application

The blueriq-customerdata-sql-store-application packages a war file for deployment on a application server. When you create a custom data store implementation you need to package a new war containing the needed components(see: Custom war implementation).

 

// TODO

blueriq-customerdata-api-v1

//TODO describe the api needed and link to the javadoc

Custom war implementation

// TODO describe whats needed for packaging a war file

 

Create your own implementation for the data-storage

replace the sql-store implementation:

- how is it picked up? (config/component scan)

- transactionManager:

  • must be of type platformTransactionManager

-- cannot have the name's 'chainedTransactionManager' OR 'rabbitTransactionManager' because these names are reserved.

-- Also you need to provide the correct Order precedence. We advise you to use @Order(10) // DatabaseTransaction is higher in order than the RabbitTransaction in the transactionChain

-- describe why the order needs to be higher

 

Example Maven structure

 

create your own war.

- jboss-web

 

test?

How do people verify that their custom implementation does work the same as ours?
do we want to deliver our regression-test so customers can see if the behavior is the same?

  • No labels