Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Adaptor design

Adaptor Components

...

  1. Adaptor registration: POST on API to register (create) an adaptor.
  2. 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 =
    Code Block
    languagejava
    /** 
     *  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
     Create AdaptorUp object for conveying the bootstrap information regarding this adaptor
    	AdaptorUp adaptorUp = new AdaptorUp();

    
     	adaptorUp.setStatus("RUNNING");

    
     	Map<String, String> capabilities = new HashMap<>();

    
    
    	//
    Add capabilities list
     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
     message to the router via the Message Broker
    	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.
    .
    }
    catch {...}
    
    /**
     * 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.
     */