2015-02-03 5 views
1

우리는 tomcat 1.6을 사용 중이 었으며 새로운 요구 사항은 tomEE +를 사용해야한다는 것입니다. TomEE +로 마이그레이션을 시도 할 때 "구성 요소의 라이프 사이클이 잘못되었습니다 ([before_destroy]) 시도가 발생했습니다"라는 오류가 나타납니다.Apache TomEE + - Tomcat 1.6에서 마이그레이션하지 못했습니다.

org.apache.catalina.LifecycleException : 유효 기간 천이 성분 [StandardEngine [카탈] .StandardHost [로컬 호스트] .StandardContext [/ freshgate] 상태 정보 [([before_destroy]) 시도한 org.apache에서 org.apache.catalina.util.LifecycleBase.destroy (LifecycleBase.java:299) 에서 org.apache.catalina.util.LifecycleBase.invalidTransition (LifecycleBase.java:409) 에서 STARTING_PREP]. catalina.core.ContainerBase.removeChild (ContainerBase.java:1041) at org.apache.tomee.catalina.TomcatWeb AppBuilder.undeploy org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps에서 org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy (TomcatWebAppBuilder.java:1505)에서 (TomcatWebAppBuilder.java:1524) (TomcatWebAppBuilder.java : 747) org.apache.openejb.assembler.classic.Assembler.destroyApplication org.apache.openejb.assembler.classic.Assembler.createApplication에서 (Assembler.java:1668) (Assembler.java:892) 에서의 org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:623) ( ) org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal (TomcatWebAppBuilder.java:1248) org.apache.catalina에서 org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent (GlobalListenerSupport.java:130)에서 org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart (TomcatWebAppBuilder.java:1087) 에서 1,515, org.apache.catalina.core.StandardContext.startInternal에서 .util.LifecycleSupport.fireLifecycleEvent org.apache.catalina.util.LifecycleBase.fireLifecycleEvent (LifecycleBase.java:90)에서 (LifecycleSupport.java:117) (StandardContext .java : 5378) at org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) at org.apache.catalina.core.Contain erBase.addChildInternal org.apache.catalina.core.StandardHost.addChild에서 org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:877)에서 (ContainerBase.java:901) (StandardHost.java : 자바에서 org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java:1880) 에서 649 org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:1083에서) ) .util.concurrent.Executors $ RunnableAdapter.call (Executors.java:471) at java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:334) at java.util.concurrent.FutureTask.run (FutureTask .java : 166) at java.util.concurrent java.lang.Thread.run에서 java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:603) 에서 .ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1110) (Thread.java:722)

이 war 파일은 Tomcat 1.6에 성공적으로 배포되었지만 "org.apache.openejb.assembler.deployer"에서 예상되는 내용을 알지 못합니다.일부는 "Deployer"가 기대하는 것을 설명 할 수 있습니까?

우리가이 문제를 1 주일 이상 쳤을 때 우리가 더 나아갈 수 있다면 정말 도움이 될 것입니다.

사전

당신은 문제를 해결 한
+0

나는 추가하여이 문제를 해결했다 "openejb.api.javax.ws.rs.Path.validation = false"를 conf의에서 System.properties에서 – Angu2787

답변

2

, 그래서 정답으로 이것을 받아 들일 필요가 없습니다 감사,하지만 난 다른 사람에 대한 빠른 메모를 추가 할 것 알 것입니다.

이러한 문제를 조사하는 데는 몇 가지 방법이 있습니다. 먼저 스택 추적뿐만 아니라 전체 서버 로그를 검사하십시오. TomEE는 전형적으로 그것이 예외를 던지기 직전에 어떤 컴포넌트를 초기화하는지 알려주므로 이것이 JaxRS라는 것을 알았을 수도있다.

둘째,이 경고는 JAXRS 또는 Jersey 구성 요소가 WAR에 종속성으로 포함되어 배포 되었기 때문에 발생합니다. 이것은 Tomcat에서 필요하지만 TomEE에서는 필요하지 않습니다. 왜냐하면 TomEE는 완전한 스택 컨테이너이기 때문에 필요하지 않습니다.

셋째, 문서를 읽으십시오 :이 특정 시나리오는 바로 여기에 나열됩니다 : http://tomee.apache.org/tip-jersey-client.html

마지막으로, 당신은 여전히 ​​붙어있는 경우, 서버가 바로 전에 무엇을하고 있었는지보고 자세한 로깅 또는 클래스 로딩을 켭니다 실패했다.

건배 - 조나단