4

我目前正在使用 Spring 4.1.4 使用 STS 3.6.3SR1。尝试测试 spring-cloud-aws 在我们的应用程序中使用的可行性。

与问题相关的罐子:

spring-cloud-aws-autoconfigure-1.0.0.RC2.jar

spring-cloud-aws-context-1.0.0.RC2.jar

spring-cloud-aws-core-1.0.0.RC2.jar

spring-cloud-aws-messaging-1.0.0.RC2.jar

使用 aws-sdk-1.9.3

目前在我的 xml 上下文文件中有这个。

<mvc:annotation-driven>
    <mvc:argument-resolvers>
        <ref bean="notificationResolver"/>
    </mvc:argument-resolvers>
</mvc:annotation-driven> 

<aws-messaging:notification-argument-resolver id="notificationResolver" />


<aws-messaging:notification-messaging-template id="notificationMessagingTemplate" default-destination="snsChannelTopic"/> 

目前将此 Controller 类定义为我的端点。

public class AmazonSNSController {
    @Autowired
    HttpServletRequest request;

    @Autowired
    HttpServletResponse response;

    @NotificationSubscriptionMapping
    public void handleSubscriptionMessage(SnsHelper status) throws IOException {
        //We subscribe to start receive the message
        status.setRequest(request);
        status.setResponse(response);
        status.confirmSubscription();
    }

    @NotificationMessageMapping
    public void handleNotificationMessage(@NotificationSubject String subject, @NotificationMessage String message) {
        System.out.println(subject + message);
    }

    @NotificationUnsubscribeConfirmationMapping
    public void handleUnsubscribeMessage(SnsHelper status) {
        //e.g. the client has been unsubscribed and we want to "re-subscribe"
        //status.confirmSubscription();
    }

在上面的类中,SnsHelper 实现了NotificationStatus并且我已经正确地确认了订阅。我也收到了handleNotificationMessage 方法的通知。但是,无论我发送什么,这两个字符串都评估为 null。

我相信这与notificationResolver没有正确注册/应用有关。

任何人都可以提供一些指导吗?

谢谢您的帮助。

4

0 回答 0