-
Notifications
You must be signed in to change notification settings - Fork 4
Queues
The Active Service uses a variety of message queues to communicate to and from the gateway.
All Sync, Auth and client communication is done through the following queues. But they are all treated the same. They are subscribed to by the com.percero.amqp.PerceroAgentListener
message listener and it will route the message according to it's type.
- authenticateOAuthCode
- authenticate
- reauthenticate
- authenticateOAuthAccessToken
- authenticateUserAccount
- getAllServiceProviders
- getRegisteredApplication
- getRegAppOAuths
- getOAuthRequestToken
- getServiceUsers
- logoutUser
- testCall
- validateUserByToken
- disconnectAuth
- create
- update
- processTransaction
- connect
- reconnect
- hibernate
- upgradeClient
- getChangeWatcher
- disconnect
- logout
- findById
- findByIds
- findByExample
- countAllByName
- getAllByName
- runQuery
- runProcess
- putObject
- removeObject
- createObject
- searchByExample
- delete
- updatesReceived
- deletesReceived
- getAccessor
- getHistory
All client push communication is done on dynamically named queues that are created by the gateway once a client connects. This enables the gateway to subscribe to all client queues and be able to forward messages on appropriately. These queues are named after the id of the Client
object associated with the session. It will be a UUID of the form f81d4fae-7dec-11d0-a765-00a0c91e6bf6
.
The last unique type of queue is for asynchronous queuing of change watcher work. This queue is called checkChangeWatcher
. Whenever a change to the model is detected by the Active Service it will enqueue a task for change watches to be checked based off the change. The reason that is was turned into an async processing task is because of the volume of changes that occur and the necessity for the change watcher evaluation to be done out of band. This allows multiple change watcher calculation to be scaled differently that the normal Active Service process.