...
Solution 1: Replicas and Dynamic participantId - still using cache
Changes in Participant intermediary:
- UUID participantId will be generated in memory instead to fetch it in properties file.
- consumerGroup will be generated in memory instead to fetch it in properties file.
...
Solution 3: Replicas and Database support - no cache
Changes in Participant intermediary:
- Redesign TimeOut scenario: Participant has the responsibility to stop the thread in execution after a specific time.
- Add client support for database (MariaDB or PostgreSQL).
- Add mock database for Unit Tests.
- Refactor CacheProvider to ParticipantProvider to support insert/update, intermediary-participant with transactions.
- Refactor Intermediary to use insert/update of ParticipantProvider.
- Refactor Participants that are using own HashMap in memory (Policy Participant saves policy and policy type in memory)
Changes in Participant:
- Add @EnableJpaRepositories and @EntityScan in Application:
Code Block language java title Application @SpringBootApplication @EnableJpaRepositories({ "org.onap.policy.clamp.acm.participant.intermediary.persistence.repository" }) @ComponentScan({ "org.onap.policy.clamp.acm.participant.sim", "org.onap.policy.clamp.acm.participant.intermediary" }) @EntityScan({ "org.onap.policy.clamp.acm.participant.intermediary.persistence.concepts" }) @ConfigurationPropertiesScan("org.onap.policy.clamp.acm.participant.sim.parameters") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
- Add db connection in properties file and properties file for tests:
Code Block | ||||
---|---|---|---|---|
| ||||
spring:
security:
user:
name: participantUser
password: zb!XztG34
mvc:
converters:
preferred-json-mapper: gson
datasource:
url: jdbc:mariadb://${mariadb.host:localhost}:${mariadb.port:3306}/participantsim
driverClassName: org.mariadb.jdbc.Driver
username: policy
password: P01icY
hikari:
connectionTimeout: 30000
idleTimeout: 600000
maxLifetime: 1800000
maximumPoolSize: 10
jpa:
hibernate:
ddl-auto: update
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
properties:
hibernate:
format_sql: true |
Code Block | ||||
---|---|---|---|---|
| ||||
spring:
datasource:
url: jdbc:h2:mem:testdb
driverClassName: org.h2.Driver
hikari:
maxLifetime: 1800000
maximumPoolSize: 3
jpa:
hibernate:
ddl-auto: create
open-in-view: false |
- Unit Tests may need some changes
Changes in docker/Kubernetes environment
...