Adaptor design
Adaptor Components
Adaptor Lifecycle
- Adaptor registration: POST on API to register (create) an adaptor.
Adaptor start up: When an Adaptor process comes up, as part of the handshake, it sends an Adaptor ready message to the router. For example:
/** Create MessageServiceConfiguration builder to * build MessageServiceConfiguration and use it to get MessageService instance. * Use MessageService for interaction with router via message bus. */ MessageServiceConfiguration.Builder builder = MessageServiceConfiguration.newConfiguration(); MessageServiceConfiguration msConf = builder.setBrokerUrl("nio+ssl://docker.local:61617"). setJmsClientId(jmsClientId).build(); try { MessageService messageService = MessageServiceFactory.getMessageService(msConf); messageService.setListener(Constants.MessageType.OPS, adminListener); // Listener for OPS messages messageService.setListener(Constants.MessageType.DATA, dataListener); // Listener for Data messages //Made up object (AdaptorUp) for conveying the bootstrap information regarding an adaptor. AdaptorUp adaptorUp = new AdaptorUp(); adaptorUp.setStatus("RUNNING"); Map<String, String> capabilities = new HashMap<>(); //Add capabilities list adaptorUp.setCapabilities(capabilities); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); String upMessage = objectMapper.writeValueAsString(adaptorUp); //Send an OPS message messageService.sendMessage(Constants.MessageType.OPS, upMessage); // Send Adaptor Up on OPS channel. //If everything goes fine, then the adminListener is notified by the router as it announces the initial state of this Adaptor. //If there is a problem, then the dataListener is notified of the error message.