Add Pausable & ManageableSmartLifecycle for AOT

The `Pausable` & `ManageableSmartLifecycle` types are eligible to be used
from Control Bus.
This one is based on SpEL and therefore requires a reflection for those
types to be available in native image
This commit is contained in:
abilan
2022-11-16 16:30:19 -05:00
parent 508fb167df
commit a5f85968eb

View File

@@ -43,6 +43,7 @@ import org.springframework.integration.core.GenericHandler;
import org.springframework.integration.core.GenericSelector;
import org.springframework.integration.core.GenericTransformer;
import org.springframework.integration.core.MessageSource;
import org.springframework.integration.core.Pausable;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.gateway.MethodArgsHolder;
import org.springframework.integration.gateway.RequestReplyExchanger;
@@ -57,6 +58,7 @@ import org.springframework.integration.store.MessageHolder;
import org.springframework.integration.store.MessageMetadata;
import org.springframework.integration.support.MutableMessage;
import org.springframework.integration.support.MutableMessageHeaders;
import org.springframework.integration.support.management.ManageableSmartLifecycle;
import org.springframework.messaging.MessageHandler;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.PollableChannel;
@@ -86,7 +88,9 @@ class CoreRuntimeHints implements RuntimeHintsRegistrar {
IntegrationProperties.class,
MethodArgsHolder.class,
AbstractReplyProducingMessageHandler.RequestHandler.class,
ExpressionEvaluatingRoutingSlipRouteStrategy.RequestAndReply.class)
ExpressionEvaluatingRoutingSlipRouteStrategy.RequestAndReply.class,
Pausable.class,
ManageableSmartLifecycle.class)
.forEach(type -> reflectionHints.registerType(type, MemberCategory.INVOKE_PUBLIC_METHODS));
reflectionHints.registerType(JsonPathUtils.class,