Skip to content

Commit 424233a

Browse files
committed
feat: sqs-message-driven-channel-adapter xsd schema
1 parent 6b29ff8 commit 424233a

File tree

1 file changed

+215
-0
lines changed

1 file changed

+215
-0
lines changed

int-aws/src/main/resources/org/springframework/schema/integration/aws/spring-integration-aws.xsd

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,190 @@
437437
</xsd:complexType>
438438
</xsd:element>
439439

440+
<xsd:element name="sqs-message-driven-channel-adapter">
441+
<xsd:annotation>
442+
<xsd:documentation><![CDATA[
443+
Configures an endpoint ('SqsMessageDrivenChannelAdapter') that will receive
444+
Amazon SQS message from the provided 'queues'.
445+
]]></xsd:documentation>
446+
</xsd:annotation>
447+
<xsd:complexType>
448+
<xsd:attributeGroup ref="integration:channelAdapterAttributes"/>
449+
<xsd:attribute name="sqs" type="xsd:string" use="required">
450+
<xsd:annotation>
451+
<xsd:documentation><![CDATA[
452+
The 'software.amazon.awssdk.services.sqs.SqsAsyncClient' bean reference.
453+
]]></xsd:documentation>
454+
<xsd:appinfo>
455+
<tool:annotation kind="ref">
456+
<tool:expected-type type="software.amazon.awssdk.services.sqs.SqsAsyncClient"/>
457+
</tool:annotation>
458+
</xsd:appinfo>
459+
</xsd:annotation>
460+
</xsd:attribute>
461+
<xsd:attribute name="queues" type="xsd:string" use="required">
462+
<xsd:annotation>
463+
<xsd:documentation><![CDATA[
464+
Comma-separated SQS queue names or their URLs.
465+
]]></xsd:documentation>
466+
</xsd:annotation>
467+
</xsd:attribute>
468+
<xsd:attribute name="error-channel" type="xsd:string">
469+
<xsd:annotation>
470+
<xsd:documentation><![CDATA[
471+
Message Channel to which error Messages should be sent.
472+
]]></xsd:documentation>
473+
<xsd:appinfo>
474+
<tool:annotation kind="ref">
475+
<tool:expected-type type="org.springframework.messaging.MessageChannel"/>
476+
</tool:annotation>
477+
</xsd:appinfo>
478+
</xsd:annotation>
479+
</xsd:attribute>
480+
<xsd:attribute name="send-timeout" type="xsd:long">
481+
<xsd:annotation>
482+
<xsd:documentation><![CDATA[
483+
Maximum amount of time in milliseconds to wait when sending a message
484+
to the channel if such channel may block.
485+
For example, a Queue Channel can block until space is available
486+
if its maximum capacity has been reached.
487+
]]></xsd:documentation>
488+
</xsd:annotation>
489+
</xsd:attribute>
490+
<xsd:attribute name="components-task-executor" type="xsd:string">
491+
<xsd:annotation>
492+
<xsd:documentation><![CDATA[
493+
Set the TaskExecutor to be used by this container's components.
494+
It's shared by the 'io.awspring.cloud.sqs.listener.sink.MessageSink'
495+
and any blocking components the container might have.
496+
Due to performance concerns, the provided executor MUST have a
497+
'io.awspring.cloud.sqs.MessageExecutionThreadFactory'.
498+
The container should have enough Threads to supportthe full load,
499+
including if it's shared between containers.
500+
]]></xsd:documentation>
501+
<xsd:appinfo>
502+
<tool:annotation kind="ref">
503+
<tool:expected-type type="org.springframework.core.task.TaskExecutor"/>
504+
</tool:annotation>
505+
</xsd:appinfo>
506+
</xsd:annotation>
507+
</xsd:attribute>
508+
<xsd:attribute name="max-concurrent-messages" type="xsd:int">
509+
<xsd:annotation>
510+
<xsd:documentation><![CDATA[
511+
Set the maximum concurrent messages that can be
512+
processed simultaneously for each queue. Default is 10.
513+
Note that if acknowledgement batching is being used,
514+
the actual maximum number of inflight messages might be higher.
515+
]]></xsd:documentation>
516+
</xsd:annotation>
517+
</xsd:attribute>
518+
<xsd:attribute name="max-messages-per-poll" type="xsd:int">
519+
<xsd:annotation>
520+
<xsd:documentation><![CDATA[
521+
Set the number of messages that should be returned per poll.
522+
If a value greater than 10 is provided, the result
523+
of multiple polls will be combined, which can be useful for
524+
'io.awspring.cloud.sqs.listener.ListenerMode#BATCH'. Default is 10.
525+
]]></xsd:documentation>
526+
</xsd:annotation>
527+
</xsd:attribute>
528+
<xsd:attribute name="message-visibility" type="xsd:int">
529+
<xsd:annotation>
530+
<xsd:documentation><![CDATA[
531+
Configures the duration (in seconds) that the received messages are hidden from
532+
subsequent poll requests after being retrieved from the system.
533+
]]></xsd:documentation>
534+
</xsd:annotation>
535+
</xsd:attribute>
536+
<xsd:attribute name="listener-shutdown-timeout" type="xsd:int">
537+
<xsd:annotation>
538+
<xsd:documentation><![CDATA[
539+
Set the maximum amount of time that the container should
540+
wait for tasks to finish before shutting down.
541+
Default is 20 seconds.
542+
]]></xsd:documentation>
543+
</xsd:annotation>
544+
</xsd:attribute>
545+
<xsd:attribute name="poll-timeout" type="xsd:int">
546+
<xsd:annotation>
547+
<xsd:documentation><![CDATA[
548+
The duration (in seconds) for which the call waits for
549+
a message to arrive in the queue before returning.
550+
If message is available, the call returns sooner than WaitTimeSeconds.
551+
If no messages areavailable and the wait time expires,
552+
the call does not return a message list.
553+
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html
554+
]]></xsd:documentation>
555+
</xsd:annotation>
556+
</xsd:attribute>
557+
<xsd:attribute name="max-delay-between-polls" type="xsd:int">
558+
<xsd:annotation>
559+
<xsd:documentation><![CDATA[
560+
Set the maximum time the polling thread should wait
561+
for a full batch of permits to be available before trying to
562+
acquire a partial batch if so configured.
563+
A poll is only actually executed if at least one permit is available.
564+
Default is 10 seconds.
565+
]]></xsd:documentation>
566+
</xsd:annotation>
567+
</xsd:attribute>
568+
<xsd:attribute name="acknowledgement-mode">
569+
<xsd:annotation>
570+
<xsd:documentation><![CDATA[
571+
Container AcknowledgementMode.
572+
Default is ON_SUCCESS.
573+
]]></xsd:documentation>
574+
</xsd:annotation>
575+
<xsd:simpleType>
576+
<xsd:union memberTypes="sqsAcknowledgementMode xsd:string"/>
577+
</xsd:simpleType>
578+
</xsd:attribute>
579+
<xsd:attribute name="acknowledgement-ordering">
580+
<xsd:annotation>
581+
<xsd:documentation><![CDATA[
582+
Container AcknowledgementOrdering.
583+
Default is PARALLEL.
584+
]]></xsd:documentation>
585+
</xsd:annotation>
586+
<xsd:simpleType>
587+
<xsd:union memberTypes="sqsAcknowledgementOrdering xsd:string"/>
588+
</xsd:simpleType>
589+
</xsd:attribute>
590+
<xsd:attribute name="acknowledgementInterval" type="xsd:int">
591+
<xsd:annotation>
592+
<xsd:documentation><![CDATA[
593+
Set the maximum interval in milliseconds between acknowledgements
594+
for batch acknowledgements. The default depends on the specific
595+
'ContainerComponentFactory' implementation.
596+
]]></xsd:documentation>
597+
</xsd:annotation>
598+
</xsd:attribute>
599+
<xsd:attribute name="back-pressure-mode">
600+
<xsd:annotation>
601+
<xsd:documentation><![CDATA[
602+
Container BackPressureMode.
603+
Default is AUTO.
604+
]]></xsd:documentation>
605+
</xsd:annotation>
606+
<xsd:simpleType>
607+
<xsd:union memberTypes="sqsBackPressureMode xsd:string"/>
608+
</xsd:simpleType>
609+
</xsd:attribute>
610+
<xsd:attribute name="queue-not-found-strategy">
611+
<xsd:annotation>
612+
<xsd:documentation><![CDATA[
613+
Container QueueNotFoundStrategy.
614+
Default is CREATE.
615+
]]></xsd:documentation>
616+
</xsd:annotation>
617+
<xsd:simpleType>
618+
<xsd:union memberTypes="sqsQueueNotFoundStrategy xsd:string"/>
619+
</xsd:simpleType>
620+
</xsd:attribute>
621+
</xsd:complexType>
622+
</xsd:element>
623+
440624
<xsd:complexType name="pollingInboundChannelAdapter">
441625
<xsd:all>
442626
<xsd:element ref="integration:poller" minOccurs="0"/>
@@ -709,4 +893,35 @@
709893
<xsd:enumeration value="COPY"/>
710894
</xsd:restriction>
711895
</xsd:simpleType>
896+
897+
<xsd:simpleType name="sqsAcknowledgementMode">
898+
<xsd:restriction base="xsd:token">
899+
<xsd:enumeration value="ON_SUCCESS"/>
900+
<xsd:enumeration value="ALWAYS"/>
901+
<xsd:enumeration value="MANUAL"/>
902+
</xsd:restriction>
903+
</xsd:simpleType>
904+
905+
<xsd:simpleType name="sqsAcknowledgementOrdering">
906+
<xsd:restriction base="xsd:token">
907+
<xsd:enumeration value="ORDERED"/>
908+
<xsd:enumeration value="ORDERED_BY_GROUP"/>
909+
<xsd:enumeration value="PARALLEL"/>
910+
</xsd:restriction>
911+
</xsd:simpleType>
912+
913+
<xsd:simpleType name="sqsBackPressureMode">
914+
<xsd:restriction base="xsd:token">
915+
<xsd:enumeration value="AUTO"/>
916+
<xsd:enumeration value="ALWAYS_POLL_MAX_MESSAGES"/>
917+
<xsd:enumeration value="FIXED_HIGH_THROUGHPUT"/>
918+
</xsd:restriction>
919+
</xsd:simpleType>
920+
921+
<xsd:simpleType name="sqsQueueNotFoundStrategy">
922+
<xsd:restriction base="xsd:token">
923+
<xsd:enumeration value="FAIL"/>
924+
<xsd:enumeration value="CREATE"/>
925+
</xsd:restriction>
926+
</xsd:simpleType>
712927
</xsd:schema>

0 commit comments

Comments
 (0)