Class ThreadRuntimeFactory
- java.lang.Object
-
- org.apache.pulsar.functions.runtime.thread.ThreadRuntimeFactory
-
- All Implemented Interfaces:
java.lang.AutoCloseable,RuntimeFactory
public class ThreadRuntimeFactory extends java.lang.Object implements RuntimeFactory
Thread based function container factory implementation.
-
-
Constructor Summary
Constructors Constructor Description ThreadRuntimeFactory(java.lang.String threadGroupName, java.lang.String pulsarServiceUrl, java.lang.String storageServiceUrl, org.apache.pulsar.functions.instance.AuthenticationConfig authConfig, org.apache.pulsar.functions.secretsprovider.SecretsProvider secretsProvider, org.apache.pulsar.functions.instance.stats.FunctionCollectorRegistry collectorRegistry, java.lang.String narExtractionDirectory, java.lang.ClassLoader rootClassLoader, boolean exposePulsarAdminClientEnabled, java.lang.String pulsarWebServiceUrl)This constructor is used by other runtimes (e.g.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()ThreadRuntimecreateContainer(org.apache.pulsar.functions.instance.InstanceConfig instanceConfig, java.lang.String jarFile, java.lang.String originalCodeFileName, java.lang.Long expectedHealthCheckInterval)Create a function container to execute a java instance.voidinitialize(WorkerConfig workerConfig, org.apache.pulsar.functions.instance.AuthenticationConfig authenticationConfig, org.apache.pulsar.functions.secretsproviderconfigurator.SecretsProviderConfigurator secretsProviderConfigurator, ConnectorsManager connectorsManager, java.util.Optional<FunctionAuthProvider> functionAuthProvider, java.util.Optional<RuntimeCustomizer> runtimeCustomizer)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pulsar.functions.runtime.RuntimeFactory
doAdmissionChecks, externallyManaged, getAuthProvider, getRuntimeCustomizer
-
-
-
-
Constructor Detail
-
ThreadRuntimeFactory
public ThreadRuntimeFactory(java.lang.String threadGroupName, java.lang.String pulsarServiceUrl, java.lang.String storageServiceUrl, org.apache.pulsar.functions.instance.AuthenticationConfig authConfig, org.apache.pulsar.functions.secretsprovider.SecretsProvider secretsProvider, org.apache.pulsar.functions.instance.stats.FunctionCollectorRegistry collectorRegistry, java.lang.String narExtractionDirectory, java.lang.ClassLoader rootClassLoader, boolean exposePulsarAdminClientEnabled, java.lang.String pulsarWebServiceUrl) throws java.lang.ExceptionThis constructor is used by other runtimes (e.g. ProcessRuntime and KubernetesRuntime) that rely on ThreadRuntime to actually run an instance of the function. When used by other runtimes, the arguments such as secretsProvider and rootClassLoader will be provided.- Throws:
java.lang.Exception
-
-
Method Detail
-
initialize
public void initialize(WorkerConfig workerConfig, org.apache.pulsar.functions.instance.AuthenticationConfig authenticationConfig, org.apache.pulsar.functions.secretsproviderconfigurator.SecretsProviderConfigurator secretsProviderConfigurator, ConnectorsManager connectorsManager, java.util.Optional<FunctionAuthProvider> functionAuthProvider, java.util.Optional<RuntimeCustomizer> runtimeCustomizer) throws java.lang.Exception
- Specified by:
initializein interfaceRuntimeFactory- Throws:
java.lang.Exception
-
createContainer
public ThreadRuntime createContainer(org.apache.pulsar.functions.instance.InstanceConfig instanceConfig, java.lang.String jarFile, java.lang.String originalCodeFileName, java.lang.Long expectedHealthCheckInterval)
Description copied from interface:RuntimeFactoryCreate a function container to execute a java instance.- Specified by:
createContainerin interfaceRuntimeFactory- Parameters:
instanceConfig- java instance configjarFile- code fileexpectedHealthCheckInterval- expected health check interval in seconds- Returns:
- function container to start/stop instance
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfaceRuntimeFactory
-
-