Adaptor design
Adaptor Components
...
- 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:
Code Block /** 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 =language java //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
{
MessageServicemessageService
=
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<>();
//Addcapabilities
list
adaptorUp.setCapabilities(capabilities);
ObjectMapperobjectMapper
=
new
ObjectMapper();
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS,false);
StringupMessage
=
objectMapper.writeValueAsString(adaptorUp);
//Sendan
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.