Микросервис Spring Boot Email не работает в Swarm Mode - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть пружинная загрузка + настроенный микросервис электронной почты.

У меня проблема с тем, что я могу развернуть свой микросервис электронной почты на docker непосредственно в виртуальной машине, и он подключается к моей электронной почте и отправляет электронные письма в разные почтовые ящики.

Однако, как только я разверну ту же микросервисную службу в режиме роя docker на той же виртуальной машине, микросервис не подключится к моей электронной почте и, следовательно, не сможет отправлять электронную почту. Микросервис не может разрешить хост электронной почты и выдать исключение тайм-аута. Что мне нужно изменить, чтобы установить соединение?

Мой docker -compose.yml файл:

version: '3'
services:
  email-api:
    image: xxx/email-api:1.0.0
    ports:
      - "8081:8080"
    environment:
      - EUREKA_SERVER=http://192.168.99.105:8761/eureka
    networks:
      - network-eureka
    deploy:
      mode: replicated
      replicas: 1
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints: [node.role == worker]

networks:
  network-eureka:

volumes:
  mongo_email_data:
    external: true

Ниже приведен файл журнала при попытке подключения:

dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    | 2020-02-24 19:14:27.409 TRACE 1 --- [nio-8080-exec-1] com.sun.mail.util.socket                 : connection failed
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    | java.net.UnknownHostException: mail.nguni52.co.za
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at java.net.Socket.connect(Socket.java:538) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:359) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2175) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:740) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at javax.mail.Service.connect(Service.java:366) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:517) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:436) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:360) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:377) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:365) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at com.antech.broker.crm.email.service.EmailService.sendNewUserEmail(EmailService.java:174) [classes!/:1.0.0]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at com.antech.broker.crm.email.controller.EmailController.sendNewUserEmail(EmailController.java:177) [classes!/:1.0.0]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) [spring-web-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) [spring-web-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3    |     at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEAS
...