Package io.vertx.servicediscovery.spi

## Interface ServiceExporter

-     public interface ServiceExporter

  The service exporter allows integrate other discovery technologies with the Vert.x service discovery. It maps entries from another technology to a `Record` and maps `Record` to a publication in this other technology. The exporter is one side of a service discovery bridge.
  Author:
    Julien Viet

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close​(Handler<Void> closeHandler)` | Close the exporter
    `void` | `init​(Vertx vertx, ServicePublisher publisher, JsonObject configuration, Promise<Void> future)` | Starts the exporter.
    `void` | `onPublish​(Record record)` | Notify a new record has been published, the record's registration can be used to uniquely identify the record
    `void` | `onUnpublish​(String id)` | Notify an existing record has been removed
    `void` | `onUpdate​(Record record)` | Notify an existing record has been updated, the record's registration can be used to uniquely identify the record

- - ### Method Detail

    - #### init

          void init​(Vertx vertx,
                    ServicePublisher publisher,
                    JsonObject configuration,
                    Promise<Void> future)

      Starts the exporter.
      Parameters:
        `vertx` - the vertx instance
        `publisher` - the service discovery instance
        `configuration` - the bridge configuration if any
        `future` - a future on which the bridge must report the completion of the starting

    - #### onPublish

          void onPublish​(Record record)

      Notify a new record has been published, the record's registration can be used to uniquely identify the record
      Parameters:
        `record` - the record

    - #### onUpdate

          void onUpdate​(Record record)

      Notify an existing record has been updated, the record's registration can be used to uniquely identify the record
      Parameters:
        `record` - the record

    - #### onUnpublish

          void onUnpublish​(String id)

      Notify an existing record has been removed
      Parameters:
        `id` - the record registration id

    - #### close

          void close​(Handler<Void> closeHandler)

      Close the exporter
      Parameters:
        `closeHandler` - the handle to be notified when exporter is closed, may be `null`