Class JavaInstanceRunnable

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

    public class JavaInstanceRunnable
    extends java.lang.Object
    implements java.lang.AutoCloseable, java.lang.Runnable
    A function container implemented using java thread.
    • Constructor Summary

      Constructors 
      Constructor Description
      JavaInstanceRunnable​(InstanceConfig instanceConfig, org.apache.pulsar.client.api.ClientBuilder clientBuilder, org.apache.pulsar.client.api.PulsarClient pulsarClient, org.apache.pulsar.client.admin.PulsarAdmin pulsarAdmin, java.lang.String stateStorageImplClass, java.lang.String stateStorageServiceUrl, org.apache.pulsar.functions.secretsprovider.SecretsProvider secretsProvider, FunctionCollectorRegistry collectorRegistry, java.lang.ClassLoader functionClassLoader)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      NOTE: this method is be synchronized because it is potentially called by two different places one inside the run/finally clause and one inside the ThreadRuntime::stop
      org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData getAndResetMetrics()  
      org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.Builder getFunctionStatus()  
      org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData getMetrics()  
      java.lang.String getStatsAsString()  
      void resetMetrics()  
      void run()
      The core logic that initialize the instance thread and executes the function.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JavaInstanceRunnable

        public JavaInstanceRunnable​(InstanceConfig instanceConfig,
                                    org.apache.pulsar.client.api.ClientBuilder clientBuilder,
                                    org.apache.pulsar.client.api.PulsarClient pulsarClient,
                                    org.apache.pulsar.client.admin.PulsarAdmin pulsarAdmin,
                                    java.lang.String stateStorageImplClass,
                                    java.lang.String stateStorageServiceUrl,
                                    org.apache.pulsar.functions.secretsprovider.SecretsProvider secretsProvider,
                                    FunctionCollectorRegistry collectorRegistry,
                                    java.lang.ClassLoader functionClassLoader)
                             throws org.apache.pulsar.client.api.PulsarClientException
        Throws:
        org.apache.pulsar.client.api.PulsarClientException
    • Method Detail

      • run

        public void run()
        The core logic that initialize the instance thread and executes the function.
        Specified by:
        run in interface java.lang.Runnable
      • close

        public void close()
        NOTE: this method is be synchronized because it is potentially called by two different places one inside the run/finally clause and one inside the ThreadRuntime::stop
        Specified by:
        close in interface java.lang.AutoCloseable
      • getStatsAsString

        public java.lang.String getStatsAsString()
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • getAndResetMetrics

        public org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData getAndResetMetrics()
      • getMetrics

        public org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData getMetrics()
      • resetMetrics

        public void resetMetrics()
      • getFunctionStatus

        public org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.Builder getFunctionStatus()