> {
28 |
29 | /**
30 | * Callback to customize an instance of AWS client builder.
31 | *
32 | * @param builder the client builder to customize
33 | */
34 | void customize(T builder);
35 | }
36 |
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/annotation/SnsNotificationMessage.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2022 the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.awspring.cloud.sqs.annotation;
17 |
18 | import java.lang.annotation.ElementType;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | /**
24 | * Annotation that is used to map SNS notification value on an SQS Queue to a variable that is annotated. Used in
25 | * Controllers method for handling/receiving SQS notifications.
26 | *
27 | * @author Michael Sosa
28 | * @since 3.1.1
29 | */
30 | @Retention(RetentionPolicy.RUNTIME)
31 | @Target(ElementType.PARAMETER)
32 | public @interface SnsNotificationMessage {
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/annotation/SnsNotificationSubject.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2022 the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.awspring.cloud.sqs.annotation;
17 |
18 | import java.lang.annotation.ElementType;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | /**
24 | * Annotation that is used to map SNS notification subject on an SQS Queue to a variable that is annotated. Used in
25 | * Controllers method for handling/receiving SQS notifications.
26 | *
27 | * @author Alexander Nebel
28 | * @since 3.3.1
29 | */
30 | @Retention(RetentionPolicy.RUNTIME)
31 | @Target(ElementType.PARAMETER)
32 | public @interface SnsNotificationSubject {
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/spring-cloud-aws-sns/src/main/java/io/awspring/cloud/sns/handlers/NotificationStatus.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2022 the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.awspring.cloud.sns.handlers;
17 |
18 | import io.awspring.cloud.sns.annotation.endpoint.NotificationSubscriptionMapping;
19 | import io.awspring.cloud.sns.annotation.endpoint.NotificationUnsubscribeConfirmationMapping;
20 |
21 | /**
22 | * Interface used for confirming Subscription/Unsubscription. Implementation of interface can be used in Controllers
23 | * methods that are annotated with {@link NotificationSubscriptionMapping} and
24 | * {@link NotificationUnsubscribeConfirmationMapping}.
25 | *
26 | * @author Agim Emruli
27 | */
28 | public interface NotificationStatus {
29 |
30 | void confirmSubscription();
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/listener/ObservableComponent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2025 the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.awspring.cloud.sqs.listener;
17 |
18 | import io.awspring.cloud.sqs.support.observation.AbstractListenerObservation;
19 |
20 | /**
21 | * Represents a {@link AbstractPipelineMessageListenerContainer} component that can be observed.
22 | *
23 | * @author Tomaz Fernandes
24 | * @since 3.4
25 | */
26 | public interface ObservableComponent {
27 |
28 | /**
29 | * Set the Observation-related instances that are specific to a messaging system.
30 | * @param observationSpecifics the observation-related instances.
31 | */
32 | void setObservationSpecifics(AbstractListenerObservation.Specifics> observationSpecifics);
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/spring-cloud-aws-kinesis/src/main/java/io/awspring/cloud/kinesis/integration/KinesisShardEndedEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2025 the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.awspring.cloud.kinesis.integration;
17 |
18 | import org.springframework.integration.events.IntegrationEvent;
19 |
20 | /**
21 | * An event emitted when shard is closed for consumption.
22 | *
23 | * @author Artem Bilan
24 | *
25 | * @since 4.0
26 | */
27 | @SuppressWarnings("serial")
28 | public class KinesisShardEndedEvent extends IntegrationEvent {
29 |
30 | private final String shardKey;
31 |
32 | public KinesisShardEndedEvent(Object source, String shardKey) {
33 | super(source);
34 | this.shardKey = shardKey;
35 | }
36 |
37 | public String getShardKey() {
38 | return this.shardKey;
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/spring-cloud-aws-starters/spring-cloud-aws-starter-integration-kinesis-producer/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | spring-cloud-aws
7 | io.awspring.cloud
8 | 4.0.0-M1
9 | ../../pom.xml
10 |
11 | 4.0.0
12 |
13 | Spring Cloud AWS Starter for Spring Integration with Kinesis Producer Library
14 | spring-cloud-aws-starter-integration-kinesis-producer
15 |
16 |
17 |
18 | io.awspring.cloud
19 | spring-cloud-aws-starter
20 |
21 |
22 | io.awspring.cloud
23 | spring-cloud-aws-kinesis
24 |
25 |
26 | software.amazon.kinesis
27 | amazon-kinesis-producer
28 |
29 |
30 | org.springframework.integration
31 | spring-integration-core
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/spring-cloud-aws-autoconfigure/src/main/java/io/awspring/cloud/autoconfigure/AwsSyncClientCustomizer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2024 the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.awspring.cloud.autoconfigure;
17 |
18 | import software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder;
19 |
20 | /**
21 | * Callback interface that can be used to customize a {@link AwsSyncClientBuilder}.
22 | *
23 | * It gets applied to every configured synchronous AWS client bean.
24 | *
25 | * @author Maciej Walkowiak
26 | * @since 3.3.0
27 | */
28 | public interface AwsSyncClientCustomizer {
29 | /**
30 | * Callback to customize a {@link AwsSyncClientBuilder} instance.
31 | *
32 | * @param builder the client builder to customize
33 | */
34 | void customize(AwsSyncClientBuilder, ?> builder);
35 | }
36 |
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/listener/acknowledgement/AcknowledgementResultCallbackException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2022 the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.awspring.cloud.sqs.listener.acknowledgement;
17 |
18 | /**
19 | * Exception representing a failure to execute a {@link AcknowledgementResultCallback}.
20 | *
21 | * @author Tomaz Fernandes
22 | * @since 3.0
23 | */
24 | public class AcknowledgementResultCallbackException extends RuntimeException {
25 |
26 | /**
27 | * Create an instance with the supplied message and cause.
28 | * @param errorMessage the error message.
29 | * @param cause the cause.
30 | */
31 | public AcknowledgementResultCallbackException(String errorMessage, Throwable cause) {
32 | super(errorMessage, cause);
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------