當前位置:
                    首頁 >
                            前端技术
>                            javascript
>内容正文                
                        
                    javascript
AmazonSQS和Spring用于消息传递队列
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                AmazonSQS和Spring用于消息传递队列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                下一篇文章將演示如何將Spring JMS模板和DLMC與AmazonSQS API一起使用,以放置消息隊列。
我為什么要使用Amazon SQS?
為什么我不使用Amazon SQS? 
我遇到了一個很好的開源項目:Nevado,它以非常簡潔的方式包裝了Amazon SQS API。
將此添加到您的Maven依賴項:
<dependency><groupId>org.skyscreamer</groupId><artifactId>nevado-jms</artifactId><version>1.2.4</version></dependency>現在,讓我們配置Spring bean,使其與AmazonSQS很好地集成:
1.連接工廠:
<bean id="sqsConnectorFactory" class="org.skyscreamer.nevado.jms.connector.amazonaws.AmazonAwsSQSConnectorFactory"/>請注意,在此包裝器中,我們需要設置aws.accessKey和aws.secretKey。 我們從AmazonSQS帳戶門戶獲取這些密鑰:
<bean id="connectionFactory" class="org.skyscreamer.nevado.jms.NevadoConnectionFactory"><property name="sqsConnectorFactory" ref="sqsConnectorFactory"/><property name="awsAccessKey" value="${aws.accessKey}"/><property name="awsSecretKey" value="${aws.secretKey}"/></bean>2.創建隊列
<bean id="myQueue" class="org.skyscreamer.nevado.jms.destination.NevadoQueue"><constructor-arg value="${aws.sqs.queue.name}"/></bean>3.創建Jms模板(稍后將在代碼中注入它以發送消息):
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"><property name="defaultDestinationName" value="${aws.sqs.queue.name}"/><property name="connectionFactory" ref="cachedConnectionFactory"/></bean>4.添加監聽器:
- 4.a我正在使用SimpleMessageListenerContainer,它具有緩存連接,運行并發使用者,設置錯誤偵聽器等功能。 <bean id="simpleMessageListenerContainer" class="org.springframework.jms.listener.SimpleMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="messageListener" ref="listener"/><property name="destination" ref="myQueue"/><property name="errorHandler" ref="amazonMessageListener"/><property name="concurrency" value="20"/><property name="taskExecutor" ref="listenerThreadPoolTaskExecutor"/></bean>
 - 4.b讓我們為偵聽器的執行者添加線程池: <bean id="listenerThreadPoolTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"><property name="corePoolSize" value="70"/><property name="maxPoolSize" value="70"/><property name="daemon" value="true"/><property name="keepAliveSeconds" value="60"/></bean>
 - 4.c添加緩存連接支持: <bean id="cachedConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"><property name="targetConnectionFactory" ref="connectionFactory"/><property name="sessionCacheSize" value="10"/></bean>
 - 4.d創建MessageAdapter來掛接所有內容,并將pojo設置為我們的消息監聽器(amazonMessageListener): <bean id="listener" class="org.springframework.jms.listener.adapter.MessageListenerAdapter"><property name="delegate" ref="amazonMessageListener"/><property name="defaultListenerMethod" value="onMessage"/><property name="defaultResponseDestination" ref="myQueue"/></bean>
 
翻譯自: https://www.javacodegeeks.com/2014/01/amazonsqs-and-spring-for-messaging-queue.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的AmazonSQS和Spring用于消息传递队列的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 区分基于Ant目标的Gradle任务
 - 下一篇: 调试路由器方法如何调试路由器密码