gpt4 book ai didi

java - payara 启动时未调用 @startup 和 @postConstruct

转载 作者:行者123 更新时间:2023-11-30 02:23:58 24 4
gpt4 key购买 nike

我正在开发一个 JEE 应用程序,我想在应用程序启动时进行一些迁移。实际上,我使用 payara-micro 和 Docker 作为服务器。由于未知原因,此代码从未执行。

这是我的代码:

@Singleton
@Startup
public class FlywayMigration {


@PostConstruct
public void startMigration(){
System.out.println("Starting flyway migration");
}
}

我在我的 pom 中添加了 javaee-api 作为依赖项:

    <dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>

这是我的 Dockerfile 的内容:

FROM payara/micro

COPY ./target/mywebapp.war $DEPLOY_DIR

构建并运行 docker 镜像后,应用程序的日志显示应用程序启动良好:

Payara Micro URLs
http://5b258e6a441a:8080/mywebapp

'mywebapp' REST Endpoints
GET /mywebapp/api/hello
GET /mywebapp/api/myresource

谁能帮我找到解决办法吗?

最佳答案

我终于让它发挥作用了。问题是我使用了错误的 @Singleton 注释。我以前没有使用@javax.ejb.Singleton,而是使用@javax.inject.Singleton。

关于java - payara 启动时未调用 @startup 和 @postConstruct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46106081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com