This is an automated email from the ASF dual-hosted git repository.
ndipiazza pushed a commit to branch file-based-config-store
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/file-based-config-store by
this push:
new 52b14c551 Add Ignite as built-in ConfigStore type
52b14c551 is described below
commit 52b14c5519972eea5863c15737ccb07d64771c95
Author: Nicholas DiPiazza <[email protected]>
AuthorDate: Sun Dec 28 16:21:28 2025 -0600
Add Ignite as built-in ConfigStore type
- Handle 'ignite' type directly in ConfigStoreFactory
- Load IgniteConfigStoreFactory via reflection
- Works in forked PipesServer without plugin system
- Matches pattern used for 'file' type
- Fixes: ClassNotFoundException: ignite in forked process
---
.../tika/pipes/core/config/ConfigStoreFactory.java | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git
a/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/config/ConfigStoreFactory.java
b/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/config/ConfigStoreFactory.java
index 7c57b6da3..ff60ff7c9 100644
---
a/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/config/ConfigStoreFactory.java
+++
b/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/config/ConfigStoreFactory.java
@@ -58,7 +58,7 @@ public interface ConfigStoreFactory extends
TikaExtensionFactory<ConfigStore> {
return store;
}
- // Handle file type directly since it's in core (not a plugin)
+ // Handle built-in types directly (not plugins)
if ("file".equalsIgnoreCase(configStoreType)) {
LOG.info("Creating FileBasedConfigStore");
FileBasedConfigStoreFactory factory = new
FileBasedConfigStoreFactory();
@@ -71,6 +71,21 @@ public interface ConfigStoreFactory extends
TikaExtensionFactory<ConfigStore> {
}
}
+ if ("ignite".equalsIgnoreCase(configStoreType)) {
+ LOG.info("Creating IgniteConfigStore");
+ try {
+ Class<?> factoryClass =
Class.forName("org.apache.tika.pipes.ignite.IgniteConfigStoreFactory");
+ ConfigStoreFactory factory = (ConfigStoreFactory)
factoryClass.getDeclaredConstructor().newInstance();
+ ExtensionConfig config = extensionConfig != null ?
extensionConfig :
+ new ExtensionConfig(configStoreType, configStoreType,
"{}");
+ return factory.buildExtension(config);
+ } catch (ClassNotFoundException e) {
+ throw new TikaConfigException("Ignite ConfigStore requested
but tika-pipes-ignite not on classpath", e);
+ } catch (Exception e) {
+ throw new TikaConfigException("Failed to create
IgniteConfigStore", e);
+ }
+ }
+
Map<String, ConfigStoreFactory> factoryMap =
loadAllConfigStoreFactoryExtensions(pluginManager);
ConfigStoreFactory factory = factoryMap.get(configStoreType);