Class JavaInstanceRunnable
- java.lang.Object
-
- org.apache.pulsar.functions.instance.JavaInstanceRunnable
-
- All Implemented Interfaces:
java.lang.AutoCloseable,java.lang.Runnable
public class JavaInstanceRunnable extends java.lang.Object implements java.lang.AutoCloseable, java.lang.RunnableA function container implemented using java thread.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceJavaInstanceRunnable.AsyncResultConsumer
-
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 voidclose()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::stoporg.apache.pulsar.functions.proto.InstanceCommunication.MetricsDatagetAndResetMetrics()org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.BuildergetFunctionStatus()org.apache.pulsar.functions.proto.InstanceCommunication.MetricsDatagetMetrics()java.lang.StringgetStatsAsString()voidresetMetrics()voidrun()The core logic that initialize the instance thread and executes the function.
-
-
-
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:
runin interfacejava.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:
closein interfacejava.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()
-
-