2017-09-07 15 views
0

JEE 응용 프로그램을 개발 중이며 응용 프로그램이 시작될 때 일부 마이그레이션을 수행하려고합니다. 사실 Docker를 서버로 사용하여 payara-micro을 사용하고 있습니다. 알 수없는 이유로이 코드는 실행되지 않습니다. 내 POM에 의존성으로 JavaEE 어플-API를 추가 @startup 및 @postConstruct가 payara 시작시 호출되지 않았습니다.

@Singleton 
@Startup 
public class FlywayMigration { 


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

:

FROM payara/micro 

COPY ./target/mywebapp.war $DEPLOY_DIR 

: 여기

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

내 Dockerfile의 내용입니다 여기

내 코드입니다 도커 이미지를 만들고 실행 한 후 응용 프로그램의 로그에 응용 프로그램이 잘 시작 되었음이 표시됩니다 :

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

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

솔루션을 찾는 사람은 누구입니까?

+0

* 알 수없는 이유로이 코드는 실행되지 않습니다. * 응용 프로그램을 어떻게 시작합니까? – nullpointer

+0

예, 응용 프로그램이 시작됩니다. 심지어 액세스 할 수있는 일부 나머지 웹 서비스가 있습니다 – Dimitri

+0

@ 드미트리. 나는 당신이 신청서를 어떻게 시작 했는가? 일부 명령 줄 또는 IDE 구성을 사용하고 있습니까? – nullpointer

답변

1

마침내 효과가 있습니다. 문제는 내가 불량 @Singleton 주석을 사용하고 있다는 것입니다. 대신 @javax.ejb.Singleton을 사용하여 @javax.inject.Singleton에 익숙해졌습니다.