0

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.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-tiers.html#worker-environ

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?

Répondre

0

Si vous devez utiliser le niveau de travail, vous n'avez pas besoin d'utiliser votre composant et vous vous assurez que la partie de traitement en arrière-plan de votre application dispose d'une interface de publication HTTP. Vous pouvez laisser l'interrogation au démon fourni par beanstalk. Je recommande ceci si vous voulez utiliser elasticbeanstalk. Si vous voulez utiliser votre composant, vous pouvez également utiliser le niveau Web, mais si vous effectuez un traitement en arrière-plan et ne traitez pas le trafic Web, vous aurez des ports pour écouter le trafic Web, ELB sans raison.