【问题标题】:extShutdownHook Spring boot JAR file AWS EC2 deployment errorextShutdownHook Spring boot JAR 文件 AWS EC2 部署错误
【发布时间】:2021-06-01 18:40:21
【问题描述】:

我现在正在制作基于 Spring Boot 的 Web 项目。

使用AWS EC2 ubuntu 进行部署时,出现未解决的错误,我想分享一下。

项目堆栈:Spring boot + AWS (EC2, S3, RDS(MariaDB)) 部署由 ubuntu 使用 Spring boot JAR 文件运行。 java -jar *.jar

问题是每当我通过 JAR 文件启动应用程序时,服务器会立即停止并显示此日志。我以为是因为 WebSocketConfig.java 用于聊天消息功能,但即使我添加了ThreadpoooltaskscheduleSTOMP setAllowedOrigins,症状仍然存在。 自己解决很累,需要大家帮忙。

WebSocketConfig.java

private static final Logger LOGGER = LoggerFactory.getLogger(WebsocketBrokerConfig.class);

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {

    //for subscribe prefix
    registry.enableSimpleBroker("/user");
    //for publish prefix
    registry.setApplicationDestinationPrefixes("/app");
    //user destination provides ability to have unique user queue
    //registry.setUserDestinationPrefix("/user");
    
}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
    
    registry.addEndpoint("/broadcast")
        .setAllowedOrigins("http://ec2....amazonaws.com")   
        .withSockJS()
        .setHeartbeatTime(60_000);
}
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.3)

2021-03-03 00:44:34.278  INFO 5898 --- [           main] com.example.salle.SalleApplication       : Starting SalleApplication v0.0.1-SNAPSHOT using Java 1.8.0_282 on ip-172-31-46-33 with PID 5898 (/home/ubuntu/salle/salle/target/test-0.0.1-SNAPSHOT.jar started by ubuntu in /home/ubuntu/salle/salle)
2021-03-03 00:44:34.283  INFO 5898 --- [           main] com.example.salle.SalleApplication       : No active profile set, falling back to default profiles: default
2021-03-03 00:44:36.435  INFO 5898 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2021-03-03 00:44:36.489  INFO 5898 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 31 ms. Found 0 JPA repository interfaces.
2021-03-03 00:44:38.298  INFO 5898 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-03-03 00:44:38.330  INFO 5898 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-03-03 00:44:38.330  INFO 5898 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.43]
2021-03-03 00:44:39.363  INFO 5898 --- [           main] org.apache.jasper.servlet.TldScanner     : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2021-03-03 00:44:39.969  INFO 5898 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-03-03 00:44:39.969  INFO 5898 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 5536 ms
2021-03-03 00:44:41.016  INFO 5898 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-03-03 00:44:41.247  INFO 5898 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-03-03 00:44:41.408  INFO 5898 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2021-03-03 00:44:41.600  INFO 5898 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.28.Final
2021-03-03 00:44:41.900  INFO 5898 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2021-03-03 00:44:42.217  INFO 5898 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MariaDB103Dialect
2021-03-03 00:44:43.125  INFO 5898 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
ct.MariaDB103Dialect
2021-03-03 00:44:43.155  INFO 5898 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2021-03-03 00:44:45.786  INFO 5898 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService
2021-03-03 00:44:45.860  INFO 5898 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'messageBrokerTaskScheduler'
2021-03-03 00:44:46.023  INFO 5898 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'clientInboundChannelExecutor'
2021-03-03 00:44:46.025  INFO 5898 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'clientOutboundChannelExecutor'
2021-03-03 00:44:46.035  INFO 5898 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'brokerChannelExecutor'
2021-03-03 00:44:46.140  WARN 5898 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2021-03-03 00:44:47.221  INFO 5898 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-03-03 00:44:47.227  INFO 5898 --- [           main] o.s.m.s.b.SimpleBrokerMessageHandler     : Starting...
2021-03-03 00:44:47.227  INFO 5898 --- [           main] o.s.m.s.b.SimpleBrokerMessageHandler     : BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [DefaultSubscriptionRegistry[cache[0 destination(s)], registry[0 sessions]]]]
2021-03-03 00:44:47.233  INFO 5898 --- [           main] o.s.m.s.b.SimpleBrokerMessageHandler     : Started.
2021-03-03 00:44:47.252  INFO 5898 --- [           main] com.example.salle.SalleApplication       : Started SalleApplication in 14.288 seconds (JVM running for 15.469)
2021-03-03 00:45:00.256  INFO 5898 --- [extShutdownHook] o.s.m.s.b.SimpleBrokerMessageHandler     : Stopping...
2021-03-03 00:45:00.258  INFO 5898 --- [extShutdownHook] o.s.m.s.b.SimpleBrokerMessageHandler     : BrokerAvailabilityEvent[available=false, SimpleBrokerMessageHandler [DefaultSubscriptionRegistry[cache[0 destination(s)], registry[0 sessions]]]]
2021-03-03 00:45:00.258  INFO 5898 --- [extShutdownHook] o.s.m.s.b.SimpleBrokerMessageHandler     : Stopped.
2021-03-03 00:45:00.284  INFO 5898 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'brokerChannelExecutor'
2021-03-03 00:45:00.284  INFO 5898 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'clientOutboundChannelExecutor'
2021-03-03 00:45:00.284  INFO 5898 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'clientInboundChannelExecutor'
2021-03-03 00:45:00.284  INFO 5898 --- [extShutdownHook] o.s.s.c.ThreadPoolTaskScheduler          : Shutting down ExecutorService 'messageBrokerTaskScheduler'
2021-03-03 00:45:00.296  INFO 5898 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2021-03-03 00:45:00.299  INFO 5898 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...```

【问题讨论】:

    标签: java spring amazon-web-services spring-boot


    【解决方案1】:

    将 Spring BOOT 应用程序放在 EC2 实例上的最简单方法是使用 Elastic Beanstalk。阅读此 AWS 文档了解更多详细信息 - https://aws.amazon.com/blogs/devops/deploying-a-spring-boot-application-on-aws-using-aws-elastic-beanstalk/

    【讨论】:

    • 报错不是直接解决方法,谢谢提醒
    • 看看您是否可以按照这些说明部署您的 Spring 应用程序。
    • 我通过您的链接阅读了它,但我提前想通了。这是我的一个愚蠢的错误。因为我使用 nohup 命令在后台进程上运行 JAR 文件(所以我可以使用终端来处理其他事情)。但是 nohup 语法仍然存在,我无法返回终端。所以我按下 Ctrl+c 来终止我虽然 nohup 的前台进程,但它杀死了 JAR 文件部署。哈哈....祝你有美好的一天
    猜你喜欢
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 2015-11-28
    相关资源
    最近更新 更多