Class KplMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.aws.outbound.AbstractAwsMessageHandler<Void>
org.springframework.integration.aws.outbound.KplMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle,org.springframework.core.Ordered,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.context.Orderable,org.springframework.integration.core.MessageProducer,org.springframework.integration.handler.HeaderPropagationAware,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.IntegrationManagement,org.springframework.integration.support.management.TrackableComponent,org.springframework.messaging.MessageHandler,reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>
public class KplMessageHandler
extends AbstractAwsMessageHandler<Void>
implements org.springframework.context.Lifecycle
The
AbstractMessageHandler implementation for the Amazon Kinesis Producer
Library putRecord(s).- Since:
- 2.2
- Author:
- Arnaud Lecollaire, Artem Bilan
- See Also:
-
KinesisAsyncClient.putRecord(PutRecordRequest)KinesisAsyncClient.putRecords(PutRecordsRequest)AsyncHandler
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.aws.outbound.AbstractAwsMessageHandler
DEFAULT_SEND_TIMEOUTFields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionKplMessageHandler(com.amazonaws.services.kinesis.producer.KinesisProducer kinesisProducer) -
Method Summary
Modifier and TypeMethodDescriptionadditionalOnSuccessHeaders(software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response) protected CompletableFuture<? extends software.amazon.awssdk.awscore.AwsResponse>handleMessageToAws(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request) booleanprotected software.amazon.awssdk.awscore.AwsRequestmessageToAwsRequest(org.springframework.messaging.Message<?> message) voidsetConverter(org.springframework.core.convert.converter.Converter<Object, byte[]> converter) Deprecated.voidsetEmbeddedHeadersMapper(org.springframework.integration.mapping.OutboundMessageMapper<byte[]> embeddedHeadersMapper) Specify aOutboundMessageMapperfor embedding message headers into the record data together with payload.voidsetExplicitHashKey(String explicitHashKey) voidsetExplicitHashKeyExpression(org.springframework.expression.Expression explicitHashKeyExpression) voidsetExplicitHashKeyExpressionString(String explicitHashKeyExpression) voidsetFlushDuration(Duration flushDuration) Configure aDurationhow often to call aKinesisProducer.flush().voidsetGlueSchema(com.amazonaws.services.schemaregistry.common.Schema glueSchema) Set aSchemato add into aUserRecordbuilt from the request message.voidsetGlueSchemaExpression(org.springframework.expression.Expression glueSchemaExpression) Set a SpEL expression forSchemato add into aUserRecordbuilt from the request message.voidsetGlueSchemaExpressionString(String glueSchemaExpression) Set a SpEL expression forSchemato add into aUserRecordbuilt from the request message.voidsetHeaderMapper(org.springframework.integration.mapping.HeaderMapper<Void> headerMapper) Unsupported operation.voidsetMessageConverter(org.springframework.messaging.converter.MessageConverter messageConverter) Configure aMessageConverterfor converting payload tobyte[]for Kinesis record.voidsetPartitionKey(String partitionKey) voidsetPartitionKeyExpression(org.springframework.expression.Expression partitionKeyExpression) voidsetPartitionKeyExpressionString(String partitionKeyExpression) voidsetSequenceNumberExpression(org.springframework.expression.Expression sequenceNumberExpression) voidsetSequenceNumberExpressionString(String sequenceNumberExpression) voidvoidsetStreamExpression(org.springframework.expression.Expression streamExpression) voidsetStreamExpressionString(String streamExpression) voidstart()voidstop()Methods inherited from class org.springframework.integration.aws.outbound.AbstractAwsMessageHandler
doSetHeaderMapper, getEvaluationContext, getHeaderMapper, getSendTimeoutExpression, handleMessageInternal, handleResponse, onInit, setSendTimeout, setSendTimeoutExpression, setSendTimeoutExpressionString, shouldCopyRequestHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setupMessageProcessor, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
KplMessageHandler
public KplMessageHandler(com.amazonaws.services.kinesis.producer.KinesisProducer kinesisProducer)
-
-
Method Details
-
setConverter
@Deprecated public void setConverter(org.springframework.core.convert.converter.Converter<Object, byte[]> converter) Deprecated.since 2.3 in favor ofsetMessageConverter(org.springframework.messaging.converter.MessageConverter)Specify aConverterto serializepayloadto thebyte[]if that isn'tbyte[]already.- Parameters:
converter- theConverterto use; cannot be null.
-
setMessageConverter
public void setMessageConverter(org.springframework.messaging.converter.MessageConverter messageConverter) Configure aMessageConverterfor converting payload tobyte[]for Kinesis record.- Parameters:
messageConverter- theMessageConverterto use.- Since:
- 2.3
-
setStream
-
setStreamExpressionString
-
setStreamExpression
public void setStreamExpression(org.springframework.expression.Expression streamExpression) -
setPartitionKey
-
setPartitionKeyExpressionString
-
setPartitionKeyExpression
public void setPartitionKeyExpression(org.springframework.expression.Expression partitionKeyExpression) -
setExplicitHashKey
-
setExplicitHashKeyExpressionString
-
setExplicitHashKeyExpression
public void setExplicitHashKeyExpression(org.springframework.expression.Expression explicitHashKeyExpression) -
setSequenceNumberExpressionString
-
setSequenceNumberExpression
public void setSequenceNumberExpression(org.springframework.expression.Expression sequenceNumberExpression) -
setEmbeddedHeadersMapper
public void setEmbeddedHeadersMapper(org.springframework.integration.mapping.OutboundMessageMapper<byte[]> embeddedHeadersMapper) Specify aOutboundMessageMapperfor embedding message headers into the record data together with payload.- Parameters:
embeddedHeadersMapper- theOutboundMessageMapperto embed headers into the record data.- Since:
- 2.0
- See Also:
-
EmbeddedJsonHeadersMessageMapper
-
setFlushDuration
Configure aDurationhow often to call aKinesisProducer.flush().- Parameters:
flushDuration- theDurationto periodic call of aKinesisProducer.flush().- Since:
- 2.3.6
-
setHeaderMapper
public void setHeaderMapper(org.springframework.integration.mapping.HeaderMapper<Void> headerMapper) Unsupported operation. UsesetEmbeddedHeadersMapper(org.springframework.integration.mapping.OutboundMessageMapper<byte[]>)instead.- Overrides:
setHeaderMapperin classAbstractAwsMessageHandler<Void>- Parameters:
headerMapper- is not used.- See Also:
-
setGlueSchema
public void setGlueSchema(com.amazonaws.services.schemaregistry.common.Schema glueSchema) Set aSchemato add into aUserRecordbuilt from the request message.- Parameters:
glueSchema- theSchemato add into aUserRecord.- Since:
- 2.5.2
- See Also:
-
UserRecord.setSchema(Schema)
-
setGlueSchemaExpressionString
Set a SpEL expression forSchemato add into aUserRecordbuilt from the request message.- Parameters:
glueSchemaExpression- the SpEL expression to evaluate aSchema.- Since:
- 2.5.2
- See Also:
-
UserRecord.setSchema(Schema)
-
setGlueSchemaExpression
public void setGlueSchemaExpression(org.springframework.expression.Expression glueSchemaExpression) Set a SpEL expression forSchemato add into aUserRecordbuilt from the request message.- Parameters:
glueSchemaExpression- the SpEL expression to evaluate aSchema.- Since:
- 2.5.2
- See Also:
-
UserRecord.setSchema(Schema)
-
start
public void start()- Specified by:
startin interfaceorg.springframework.context.Lifecycle
-
stop
public void stop()- Specified by:
stopin interfaceorg.springframework.context.Lifecycle
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceorg.springframework.context.Lifecycle
-
messageToAwsRequest
protected software.amazon.awssdk.awscore.AwsRequest messageToAwsRequest(org.springframework.messaging.Message<?> message) - Specified by:
messageToAwsRequestin classAbstractAwsMessageHandler<Void>
-
handleMessageToAws
protected CompletableFuture<? extends software.amazon.awssdk.awscore.AwsResponse> handleMessageToAws(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request) - Specified by:
handleMessageToAwsin classAbstractAwsMessageHandler<Void>
-
additionalOnSuccessHeaders
protected Map<String,?> additionalOnSuccessHeaders(software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response) - Specified by:
additionalOnSuccessHeadersin classAbstractAwsMessageHandler<Void>
-
setMessageConverter(org.springframework.messaging.converter.MessageConverter)