문제

나는 작업에 기존 자바 엔터프라이즈 서버 프로젝트,설정하려고 매일 밤 있습니다.우리는 자바를 사용하여 5,Maven2,JBoss4.2 은 대나무 2.1.5.아이디어는 우리는 대나무의 에이전트리 dev 서버 및 메이븐 구축하도록 구성된 하드 배포 결과입니다.귀 파일을 서버를 다시 시작합니다.(우리 사용할 수 없는 부드러운 배포하기 때문에 우리의 기존 응용 프로그램 라이브러리를 사용하는 원인이 되는 예외 중...취소우리가 없애는 라이브러리에서 어떤 시점,하지만 아직.) 내가 사용하는 JBoss Maven plugin 니다.잘 작동할 때 나는 메이븐에 구축하는 내 자신의 컴퓨터(노트북,Win XP Professional):서버가 멈추고 다시 시작과 함께 최신을 구축하고,구축을 완료합니다.

그러나,실행하려고 하면 밤에 건축하는 우리의 서버(Win2003)을 시작한 후,JBoss server 빌드 프로세스가 중지됩니다.Bamboo 에이전시에 로그온:

Build MYPROJECT-NIGHTLY-44 completed.

고 그것이 기다리가 구축을 마무리하지 않겠으로 종료하는 JBoss server 수동으로,어느 시점에서 대나무를 구축하는 프로세스를 다시 시작하고 실행되는 게시물을 구축 활동을 종료와 함께

Finished building MYPROJECT-NIGHTLY-44.

분명히 프로세스를 시작하는 JBoss server 어떻게든 잠금 부모 프로세스에서 2003 년,동일한 프로세스가 실행되는 독립적으로 Win XP.관련 코드의 JBoss 플러그인처럼 보이는 이(포맷을 위한 간결):

protected void launch( String fName, String params )
    throws MojoExecutionException {

    try {
        checkConfig();
        String osName = System.getProperty( "os.name" );
        Runtime runtime = Runtime.getRuntime();

        Process p = null;
        if ( osName.startsWith( "Windows" ) ) {
            String command[] = { "cmd.exe", "/C", "cd " + jbossHome + "\\bin & " + fName + ".bat " + " " + params };
            p = runtime.exec( command );
            dump( p.getInputStream() );
            dump( p.getErrorStream() );
        } else {
            String command[] = { "sh", "-c", "cd " + jbossHome + "/bin; ./" + fName + ".sh " + " " + params };
            p = runtime.exec( command );
        }

    } catch ( Exception e ) {
        throw new MojoExecutionException( "Mojo error occurred: " + e.getMessage(), e );
    }
}

protected void dump( final InputStream input ) {
    new Thread( new Runnable() {
        public void run() {
            try {
                byte[] b = new byte[1000];
                while ( ( input.read( b ) ) != -1 ) {
                }
            } catch ( IOException e ) {
                e.printStackTrace();
            }
        }
    } ).start();
}

dump() 방법은 필요한 플러시의 출력 버퍼를 이 과정이 없이 그 과정을 실행할 수 없습니다으로,문서에서 설명 API 문서 너무입니다.그러나,이것은 여전히 작동하지 않는 윈 2003.뭔가 누락되었거나 잘못되었 이 코드에서?이는 대나무 문제입니까?어떤 도움에 감사드립니다.

업데이트: 테스트 Maven 빌 명령행에서 서버에서 그것을 완벽하게 작동합니다.그래서 그것은 분명히 대나무 문제입니다.처럼 보이는 대나무 에 관계 모든 하위 갈래서 빌드 프로세스를 직접 또는 간접적으로 할 때까지 기다립니다 그들 모두는 종료를 선언하기 전에 구축을 완료 할 수 있습니다.는 소리를 일종의 논리에 대해 구축 지원되지 않습니다.은 불행한 결과에 대한 저:-(

Update2: 게시 문제에 대나무 토론 게시판이 너무,일부 응답에서 Atlassian 지원을 사람이 없지만 결정적인 결과는 아직이다.

도움이 되었습니까?

해결책

의 결과는 내 관련 토론에 대나무 포럼 입니다:이 될 것으로 보인 기능의 대나무,그래서 거기에 더 직접적인 해결 방법입니다.제안된 솔루션을 사용하는 것입 게시 구축하는 명령 플러그인 을 배포한 후 응용 프로그램 빌드 프로세스가 완료되었습니다.

내가 노력하지 않은 이 발견으로 대체 솔루션을 배포하는 우리의 서버로 윈도우 서비스 , 를 사용하여, Exec Maven Plugin.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top