@@ -134,6 +134,9 @@ const (
134134 FunctionContainerName = "pulsar-function"
135135 SinkContainerName = "pulsar-sink"
136136 SourceContainerName = "pulsar-source"
137+
138+ DefaultPulsarFunctionsJavaInstancePath = "/pulsar/instances/java-instance.jar"
139+ DefaultPulsarFunctionsJavaInstanceEntryClass = "org.apache.pulsar.functions.instance.JavaInstanceMain"
137140)
138141
139142//go:embed template/java-runtime-log4j.xml.tmpl
@@ -538,11 +541,11 @@ func MakeJavaFunctionCommand(downloadPath, packageFile, name, clusterName, gener
538541 memory * resource.Quantity , javaOpts []string , hasPulsarctl , hasWget , authProvided , tlsProvided bool , secretMaps map [string ]v1alpha1.SecretRef ,
539542 state * v1alpha1.Stateful ,
540543 tlsConfig TLSConfig , authConfig * v1alpha1.AuthConfig ,
541- maxPendingAsyncRequests * int32 , logConfigFileName string ) []string {
544+ maxPendingAsyncRequests * int32 , logConfigFileName , instancePath , entryClass string ) []string {
542545 processCommand := setShardIDEnvironmentVariableCommand () + " && " + generateLogConfigCommand +
543546 strings .Join (getProcessJavaRuntimeArgs (name , packageFile , clusterName , logLevel , details ,
544547 extraDependenciesDir , connectorsDirectory , uid , memory , javaOpts , authProvided , tlsProvided , secretMaps , state , tlsConfig ,
545- authConfig , maxPendingAsyncRequests , logConfigFileName ), " " )
548+ authConfig , maxPendingAsyncRequests , logConfigFileName , instancePath , entryClass ), " " )
546549 if downloadPath != "" && ! utils .EnableInitContainers {
547550 // prepend download command if the downPath is provided
548551 downloadCommand := strings .Join (GetDownloadCommand (downloadPath , packageFile , hasPulsarctl , hasWget ,
@@ -1287,8 +1290,8 @@ func getProcessJavaRuntimeArgs(name, packageName, clusterName, logLevel, details
12871290 memory * resource.Quantity , javaOpts []string , authProvided , tlsProvided bool , secretMaps map [string ]v1alpha1.SecretRef ,
12881291 state * v1alpha1.Stateful ,
12891292 tlsConfig TLSConfig , authConfig * v1alpha1.AuthConfig ,
1290- maxPendingAsyncRequests * int32 , logConfigFileName string ) []string {
1291- classPath := "/pulsar/instances/java-instance.jar :$(echo /pulsar/lib/com.fasterxml.jackson.dataformat-jackson-dataformat-yaml-*.jar):$(echo /pulsar/lib/org.yaml-snakeyaml-*.jar)"
1293+ maxPendingAsyncRequests * int32 , logConfigFileName , instancePath , entryClass string ) []string {
1294+ classPath := fmt . Sprintf ( "%s :$(echo /pulsar/lib/com.fasterxml.jackson.dataformat-jackson-dataformat-yaml-*.jar):$(echo /pulsar/lib/org.yaml-snakeyaml-*.jar)", instancePath )
12921295 javaLogConfigPath := logConfigFileName
12931296 if javaLogConfigPath == "" {
12941297 javaLogConfigPath = DefaultJavaLogConfigPath
@@ -1327,7 +1330,7 @@ func getProcessJavaRuntimeArgs(name, packageName, clusterName, logLevel, details
13271330 "-XX:+ExitOnOutOfMemoryError" ,
13281331 "-Xlog:gc*:file=/pulsar/logs/gc.log:time,level,tags:filecount=5,filesize=10M" ,
13291332 strings .Join (javaOpts , " " ),
1330- "org.apache.pulsar.functions.instance.JavaInstanceMain" ,
1333+ entryClass ,
13311334 "--jar" ,
13321335 packageName ,
13331336 }
0 commit comments