About class loading isolation and converter class

Hi Juan,

Sorry, I was wrong about how plugin.path works.

When a plugin consists of multiple JARs, the JARs must be in a directory that is an immediate child of a plugin path entry. For example:

plugin.path=<plugin-path-entry>

<plugin-path-entry>/
└── couchbase/
    ├── kafka-connect-couchbase-<version>.jar
    └── custom-schema-0.0.1-SNAPSHOT.jar

For reference, here’s how plugin.path is described by the Kafka Connect config documentation:

List of paths separated by commas (,) that contain plugins (connectors, converters, transformations). The list should consist of top level directories that include any combination of:
a) directories immediately containing jars with plugins and their dependencies
b) uber-jars with plugins and their dependencies
c) directories immediately containing the package directory structure of classes of plugins and their dependencies
Note: symlinks will be followed to discover dependencies or plugins.
Examples: plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors

1 Like