From 8447ce4a35c4547313c14fd3b4a82b8052d71a2d Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Thu, 8 Aug 2019 09:34:53 -0400 Subject: [PATCH] GH-3018: Fix Http NPE when no application context Resolves https://github.com/spring-projects/spring-integration/issues/3018 --- .../outbound/AbstractHttpRequestExecutingMessageHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/AbstractHttpRequestExecutingMessageHandler.java b/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/AbstractHttpRequestExecutingMessageHandler.java index e619d978d9..70e2694768 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/AbstractHttpRequestExecutingMessageHandler.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/AbstractHttpRequestExecutingMessageHandler.java @@ -34,6 +34,7 @@ import javax.xml.transform.Source; import org.reactivestreams.Publisher; import org.springframework.beans.factory.BeanFactory; +import org.springframework.context.ApplicationContext; import org.springframework.core.ParameterizedTypeReference; import org.springframework.expression.EvaluationContext; import org.springframework.expression.Expression; @@ -535,7 +536,9 @@ public abstract class AbstractHttpRequestExecutingMessageHandler extends Abstrac "evaluation resulted in a " + typeClass + "."); if (type instanceof String && StringUtils.hasText((String) type)) { try { - type = ClassUtils.forName((String) type, getApplicationContext().getClassLoader()); + ApplicationContext applicationContext = getApplicationContext(); + type = ClassUtils.forName((String) type, + applicationContext == null ? null : applicationContext.getClassLoader()); } catch (ClassNotFoundException e) { throw new IllegalStateException("Cannot load class for name: " + type, e);