日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

AmazonSQS和Spring用于消息传递队列

發(fā)布時(shí)間:2023/12/3 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AmazonSQS和Spring用于消息传递队列 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下一篇文章將演示如何將Spring JMS模板和DLMC與AmazonSQS API一起使用,以放置消息隊(duì)列。

我為什么要使用Amazon SQS?

  • 易于配置
  • 跨平臺支持
  • 從您的自我冗余,連帶和擴(kuò)展方面的煩惱中賺錢。


  • 為什么我不使用Amazon SQS?

  • 如果延遲要求少于?20 MS
  • 每封郵件的費(fèi)用約為0.00005 $
  • 我遇到了一個(gè)很好的開源項(xiàng)目:Nevado,它以非常簡潔的方式包裝了Amazon SQS API。

    將此添加到您的Maven依賴項(xiàng):

    <dependency><groupId>org.skyscreamer</groupId><artifactId>nevado-jms</artifactId><version>1.2.4</version></dependency>

    現(xiàn)在,讓我們配置Spring bean,使其與AmazonSQS很好地集成:

    1.連接工廠:

    <bean id="sqsConnectorFactory" class="org.skyscreamer.nevado.jms.connector.amazonaws.AmazonAwsSQSConnectorFactory"/>

    請注意,在此包裝器中,我們需要設(shè)置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.創(chuàng)建隊(duì)列

    <bean id="myQueue" class="org.skyscreamer.nevado.jms.destination.NevadoQueue"><constructor-arg value="${aws.sqs.queue.name}"/></bean>

    3.創(chuàng)建Jms模板(稍后將在代碼中注入它以發(fā)送消息):

    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"><property name="defaultDestinationName" value="${aws.sqs.queue.name}"/><property name="connectionFactory" ref="cachedConnectionFactory"/></bean>

    4.添加監(jiān)聽器:

    • 4.a我正在使用SimpleMessageListenerContainer,它具有緩存連接,運(yùn)行并發(fā)使用者,設(shè)置錯(cuò)誤偵聽器等功能。 <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讓我們?yōu)閭陕犉鞯膱?zhí)行者添加線程池: <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創(chuàng)建MessageAdapter來掛接所有內(nèi)容,并將pojo設(shè)置為我們的消息監(jiān)聽器(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>

    參考: AmazonSQS和Spring在IdanFridman.com博客上提供了來自JCG合作伙伴 Idan Fridman的消息隊(duì)列 。

    翻譯自: https://www.javacodegeeks.com/2014/01/amazonsqs-and-spring-for-messaging-queue.html

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的AmazonSQS和Spring用于消息传递队列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。