Class ProcessRuntimeFactory

  • All Implemented Interfaces:
    java.lang.AutoCloseable, RuntimeFactory

    public class ProcessRuntimeFactory
    extends java.lang.Object
    implements RuntimeFactory
    Thread based function container factory implementation.
    • Constructor Summary

      Constructors 
      Constructor Description
      ProcessRuntimeFactory​(java.lang.String pulsarServiceUrl, java.lang.String pulsarWebServiceUrl, java.lang.String stateStorageServiceUrl, org.apache.pulsar.functions.instance.AuthenticationConfig authConfig, java.lang.String javaInstanceJarFile, java.lang.String pythonInstanceFile, java.lang.String logDirectory, java.lang.String extraDependenciesDir, java.lang.String narExtractionDirectory, org.apache.pulsar.functions.secretsproviderconfigurator.SecretsProviderConfigurator secretsProviderConfigurator, boolean authenticationEnabled, java.util.Optional<FunctionAuthProvider> functionAuthProvider, java.util.Optional<RuntimeCustomizer> runtimeCustomizer)  
    • Constructor Detail

      • ProcessRuntimeFactory

        public ProcessRuntimeFactory​(java.lang.String pulsarServiceUrl,
                                     java.lang.String pulsarWebServiceUrl,
                                     java.lang.String stateStorageServiceUrl,
                                     org.apache.pulsar.functions.instance.AuthenticationConfig authConfig,
                                     java.lang.String javaInstanceJarFile,
                                     java.lang.String pythonInstanceFile,
                                     java.lang.String logDirectory,
                                     java.lang.String extraDependenciesDir,
                                     java.lang.String narExtractionDirectory,
                                     org.apache.pulsar.functions.secretsproviderconfigurator.SecretsProviderConfigurator secretsProviderConfigurator,
                                     boolean authenticationEnabled,
                                     java.util.Optional<FunctionAuthProvider> functionAuthProvider,
                                     java.util.Optional<RuntimeCustomizer> runtimeCustomizer)
    • 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> authProvider,
                               java.util.Optional<RuntimeCustomizer> runtimeCustomizer)
        Specified by:
        initialize in interface RuntimeFactory
      • createContainer

        public org.apache.pulsar.functions.runtime.process.ProcessRuntime createContainer​(org.apache.pulsar.functions.instance.InstanceConfig instanceConfig,
                                                                                          java.lang.String codeFile,
                                                                                          java.lang.String originalCodeFileName,
                                                                                          java.lang.Long expectedHealthCheckInterval)
                                                                                   throws java.lang.Exception
        Description copied from interface: RuntimeFactory
        Create a function container to execute a java instance.
        Specified by:
        createContainer in interface RuntimeFactory
        Parameters:
        instanceConfig - java instance config
        codeFile - code file
        expectedHealthCheckInterval - expected health check interval in seconds
        Returns:
        function container to start/stop instance
        Throws:
        java.lang.Exception
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface RuntimeFactory