mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
Plaintext
@startuml
|
|
|
|
Title: Policies: Reload Policy Endpoints (V5.2 Proposal)
|
|
|
|
skinparam componentStyle uml2
|
|
|
|
participant "Quartz"
|
|
participant "PolicyCheckJob" as PCJ
|
|
participant "PolicyEndpointRegistry" as PER
|
|
participant "QueuedBehaviour" as QB
|
|
participant "PolicyEndpointDAO" as DAO
|
|
database DB
|
|
participant "PolicyComponent" as PC
|
|
database AMQ
|
|
|
|
== Static Route Initialization ==
|
|
|
|
activate PER
|
|
PER -> QB: new
|
|
activate PER
|
|
PER -> PER: from("direct:policy")
|
|
PER -> PER: dynamicRouter(method(PolicyEndpointRegistry.class, "slip"))
|
|
deactivate PER
|
|
deactivate PER
|
|
|
|
== Quartz ==
|
|
|
|
note over DAO,DB
|
|
UNIQUE : policy,typeOrAspect,endpoint
|
|
OTHER : active, modified
|
|
SORT : modified
|
|
end note
|
|
|
|
Quartz -> PCJ
|
|
PCJ -> PER : reload(fromTime)
|
|
PER -> DAO : getPolicyEndpoints(fromTime)
|
|
DAO -> DB: SELECT(fromTime)
|
|
DAO <-- DB
|
|
PER <-- DAO
|
|
loop each policy endpoint registration change
|
|
PER -> PER: updateRegistrations(PolicyEndpoint)
|
|
PER -> PC: bindClassBehaviour(policy,typeOrAspect, behaviour)
|
|
end
|
|
PCJ <-- PER : success
|
|
Quartz <-- PCJ : success
|
|
|
|
|
|
@enduml |