@startup和@postConstruct在Payara启动时未拨打



我正在开发一个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

相关内容

  • 没有找到相关文章

最新更新