2017-02-22 4 views
0

Я совершенно новый для AWS и ограниченный опыт работы с java. Однако мое задание заключается в том, чтобы помочь поддерживать гибридное решение, в котором клиентское приложение java установлено на месте, отправляет JMS-сообщения (Spring JMS) в Amazon SQS. Серверное приложение, работающее на EC2, забирает сообщение из SQS, обрабатывает его и помещает ответное сообщение в другую очередь. Затем одно и то же клиентское приложение подберет ответное сообщение, и процесс завершится.AWS SQS as JMS, сообщения, отправленные/полученные от локального приложения

Мой вопрос: может ли клиентское приложение, установленное на месте, использовать JMS для отправки сообщений в Amazon SQS? Если да, как обеспечивается обмен сообщениями (SSL)?

Дополнительный вопрос: AWS выставит счет как 0,4 $ за миллион сообщений. Когда мое клиентское приложение выполняет запросы на опрос, будут ли они рассматриваться как сообщение, даже если очередь пуста?

Сердечные приветы

Allan H.

ответ

1

Ань по применению помещения можно легко отправлять сообщения в очередь SQS. Он может переводить эти сообщения из JMS и отправлять их через SQS. Все конечные точки AWS поддерживают SSL (см. this list для имен конечных точек), и, хотя вы можете использовать HTTP, по умолчанию используется протокол HTTPS.

В стандартной JEE код будет выглядеть, как показано ниже - это не должно быть плохо, чтобы перевести в Спринг:

@MessageDriven(...) 
public class MyMessageListener implements MessageListener { 
    @Override 
    public void onMessage(Message message) { 
     ObjectMessage objectMessage = (ObjectMessage) message; 

     MyObject myObject = (MyObject)(objectMessage.getObject()); 
     // stringify myObject - just an example 
     String stringToSend = new Gson().toJson(myObject); 

     SendMessageRequest sendMessageRequest = new SendMessageRequest() 
        .withQueueUrl(queueUrl) 
        .withMessageBody(stringToSend); 

     amazonSQS.sendMessage(sendMessageRequest); 
    } 
} 

Этот код оставляет инициализацию, но мы надеемся, даст вам представление о том, что вы» Мне нужно.

Что касается затрат, вы, очевидно, видели SQS pricing page. Я признаю, что я не уверен в расходах на опрос. Есть некоторые данные, переданные в «пустом» опросе, но я не уверен, что это будет стоить.

+0

Thx для ответа. Таким образом, этот фрагмент кода может работать на месте и отправлять сообщения в SQS? Не совсем уверен в вашем JMS-ответе, поэтому позвольте мне попытаться быть более ясным: могу ли я использовать JMS (JMS 1.1 должен поддерживаться SQS) с некоторой защитой включенной на месте (например, SSL) для отправки/получения сообщений в/из SQS? – LilleElefant