From fd576aea6ec221e9a729b05a19550a33d1864d03 Mon Sep 17 00:00:00 2001 From: Sanjeev Kulkarni Date: Mon, 30 Apr 2018 22:23:10 -0700 Subject: [PATCH] Use Function class loader to resolve function types (#1699) --- .../java/org/apache/pulsar/functions/source/PulsarSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarSource.java b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarSource.java index caaa7bf3f1ebb..9048544da615b 100644 --- a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarSource.java +++ b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarSource.java @@ -128,7 +128,7 @@ public void close() throws Exception { private void setupSerde() throws ClassNotFoundException { - Class typeArg = Class.forName(this.pulsarConfig.getTypeClassName()); + Class typeArg = Thread.currentThread().getContextClassLoader().loadClass(this.pulsarConfig.getTypeClassName()); if (Void.class.equals(typeArg)) { throw new RuntimeException("Input type of Pulsar Function cannot be Void"); }