我正在开发一个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
任何人都可以帮我找到解决方案吗?
答案 0 :(得分:2)
我终于成功了。问题是我使用了错误的s_id cities population
1 city1 543
2 city5 987
注释。而不是使用@Singleton
我曾经@javax.ejb.Singleton
。