Voici ma configuration de ressort pour aws sqs.Configuration de l'environnement AWS SQS et ElasticBeanStalk
<bean id="CredentialsProviderBean"
class="com.myapp.util.ClasspathPropertiesFileCredentialsProvider" />
<bean id="ConnectionFactoryBuilder"
class="com.amazon.sqs.javamessaging.SQSConnectionFactory$Builder">
<property name="regionName" value="us-east-1" />
<property name="numberOfMessagesToPrefetch" value="1" />
<property name="awsCredentialsProvider" ref="CredentialsProviderBean" />
</bean>
<bean id="ConnectionFactory" class="com.amazon.sqs.javamessaging.SQSConnectionFactory"
factory-bean="ConnectionFactoryBuilder" factory-method="build" />
<bean id="Connection" class="javax.jms.Connection" factory-bean="ConnectionFactory"
factory-method="createConnection" init-method="start" destroy-method="close" />
<bean id="QueueName" class="java.lang.String">
<constructor-arg value="myqueue" />
</bean>
<bean id="amazonMessageListener" class="com.myapp.daemon.AsyncMessageListener" />
<bean id="messageListener"
class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
<property name="delegate" ref="amazonMessageListener" />
<property name="defaultListenerMethod" value="onMessage" />
<property name="messageConverter">
<null />
</property>
</bean>
<bean id="jmsContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="ConnectionFactory" />
<property name="destinationName" ref="QueueName" />
<property name="messageListener" ref="messageListener" />
</bean>
Je n'arrive pas à comprendre comment configurer cette fonction dans l'AWS. ElasticBeanStalk fournit 2 types d'environnements: 1. worker et 2. webserver.
Considéré l'environnement de type de travailleur correspond à la facture, selon la documentation. AWS déploie un démon dans les instances ec2 et extrait le message de SQS et l'enveloppe dans un corps de message de la requête http post. Cette demande de publication peut être utilisée pour publier sur un serveur Web.
Cependant, la composante j'ai écrit le fait. Supprime le message de la file d'attente et effectue un traitement en arrière-plan.
Dans ce cas, quel type d'environnement dois-je choisir?