Подключение к серверу ElasticMQ sqs с использованием SQSClient в компоненте aws-sqs camel

Я пытаюсь использовать Amazon SQS для проведения интеграционного теста. У меня есть промежуточное приложение, которое прослушивает внешнюю очередь SQS и обрабатывает сообщение. Для проведения интеграционного теста я не могу использовать внешнюю очередь SQS. Поэтому я пытаюсь создать очередь SQS, используя сервер Elastic MQ. Сервер запущен.

[main] INFO org.elasticmq.rest.sqs.TheSQSRestServerBuilder - запущенный сервер SQS rest, адрес привязки 127.0.0.1:9300, видимый адрес сервера http://localhost:9324/

Я могу отправлять и получать сообщения с помощью клиента sqs, созданного в классе тестирования интеграции. Но исходное приложение не может подключиться к SQS.

Создал сервер используя следующий код:

  SQSRestServerBuilder.withPort(9324).withInterface("127.0.0.1").start();
    String endpoint = "http://127.0.0.1:9300";
    String region = "us-east-1";
    String accessKey = "x";
    String secretKey = "x";
    AmazonSQS client = AmazonSQSClientBuilder.standard()
        .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey)))
        .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, region))
        .build();
    client.createQueue("queueName");`

Возможность отправить сообщение, используя

sqsClient.sendMessage (" http://localhost:9300/queue/queueName", json); ReceiveMessageResult recieveMessage = sqsClient.receiveMessage (" http://localhost:9300/queue/queueName"); Listlist = recieveMessage.getMessages ();

Но верблюжий маршрут выдает ошибку "Отказ в соединении".

from ("aws-sqs: // queueName? amazonSQSClient = # amazonSQSClient").routeId (Constants.SQS_CONSUMER_ROUTE_ID).log ("MESSAGE: SQS_MESSAGE_RECEIVED")

amazonSQSClient configuration is 
String endpoint = "http://127.0.0.1:9324";
String region = "us-east-1";
String accessKey = "x";
String secretKey = "x";

Я предполагаю, что приложение сможет подключиться к серверу ElasticMQ, используя конфигурацию, и сможет подписывать сообщения из очереди SQS.

0 ответов

Другие вопросы по тегам