Looking for the old docs site? You can still view it for a limited time here.

Upload a JDBC Driver to Fusion Server

The JDBC connector fetches documents from a relational database via SQL queries. Under the hood, this connector implements the Solr DataImportHandler (DIH) plugin.

Fusion stores JDBC drivers in the blob store. You can upload a driver using the Fusion UI or the Blob Store API.

How to upload a JDBC driver using the Fusion UI

  1. In the Fusion UI, navigate to System > Blobs.

  2. Click Add.

  3. Select JDBC Driver.

    Uploading a connector

    The "New 'JDBC Driver' Upload" panel appears.

  4. Click Choose File and select the .jar file from your file system.

    Uploading connector

  5. Click Upload.

    The new driver’s blob manifest appears.

    Uploaded connector

    From this screen you can also delete or replace the driver.

How to install a JDBC driver using the API

  1. Upload the .jar file to Fusion’s blob store using the /blobs/{id} endpoint.

    Specify an arbitrary blob ID, and a resourceType value of plugin:connector, as in this example:

    curl -u user:pass -H "content-type:application/java-archive" -H "content-length:707261" -X PUT --data-binary @postgresql-42.0.0.jar http://localhost:8764/api/blobs/mydriver?resourceType=driver:jdbc

    Success response:

    {
      "name" : "mydriver",
      "contentType" : "application/java-archive",
      "size" : 707261,
      "modifiedTime" : "2017-06-09T19:00:48.919Z",
      "version" : 0,
      "md5" : "c67163ca764bfe632f28229c142131b5",
      "metadata" : {
        "subtype" : "driver:jdbc",
        "drivers" : "org.postgresql.Driver",
        "resourceType" : "driver:jdbc"
      }
    }

    Fusion automatically publishes the event to the cluster, and the listeners perform the driver installation process on each node.

    Tip
    If the blob ID is identical to an existing one, the old driver will be uninstalled and the new driver will installed in its place. To get the list of existing blob IDs, run: curl -u user:_password_ localhost:8764/api/blobs
  2. To verify the uploaded driver, run:

    curl -u user:pass http://localhost:8764/api/blobs/<id>/manifest

    Where the <id> is the name specified during upload, such as "mydriver" above. A success response looks like this:

    {
      "name" : "mydriver",
      "contentType" : "application/java-archive",
      "size" : 707261,
      "modifiedTime" : "2017-06-09T19:05:17.897Z",
      "version" : 1569755095787110400,
      "md5" : "c67163ca764bfe632f28229c142131b5",
      "metadata" : {
        "subtype" : "driver:jdbc",
        "drivers" : "org.postgresql.Driver",
        "resourceType" : "driver:jdbc"
      }
    }