Skip to content
Jonathan Samples edited this page Mar 21, 2016 · 4 revisions

The Active Service uses a variety of message queues to communicate to and from the gateway.

Active Service Queues

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

Client Queues

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.

Change Watcher Queues

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.

Clone this wiki locally