DefaultPluginLoader

Default implementation of PluginLoader that supports:

  • Directory-based plugin discovery (scanning for JAR files)

  • JAR-based class loading with isolated ClassLoader

  • SPI-based plugin loading (META-INF/services)

Thread-safe: uses ConcurrentHashMap and synchronized loading.

Constructors

Link copied to clipboard
constructor()

Functions

Link copied to clipboard
open suspend override fun discoverPlugins(pluginDir: String): List<DiscoveredPlugin>

Discover plugins in the specified directory.

Link copied to clipboard
Link copied to clipboard
open suspend override fun loadPlugin(discovered: DiscoveredPlugin): KeelPlugin

Load a discovered plugin into the runtime.

Link copied to clipboard
open suspend override fun reloadPlugin(pluginId: String): KeelPlugin?

Reload a plugin (unload and load again).

Link copied to clipboard
open suspend override fun unloadPlugin(pluginId: String)

Unload a plugin from the runtime.