8

내 응용 프로그램을 GlassFish 3.0.1에서 GlassFish 3.1.1로 마이그레이션하려고합니다. 다음 오류 메시지와 함께 배포가 실패합니다.스택 추적없이 "응용 프로그램을로드하는 중 예외"

SEVERE: Exception while loading the app 
SEVERE: Exception while shutting down application container 
SEVERE: Exception while shutting down application container : java.lang.NullPointerException 
SEVERE: java.lang.RuntimeException: Error occurred during deployment: Exception while shutting down application container : java.lang.NullPointerException. Please see server.log for more details. 

스택 추적이 없습니다. 나는 FINEST에 루트 로깅 수준을 설정하고, 첫 번째 SEVERE 메시지는 용접 메시지 이후에 발생 :

FINE: PWC4451: File cannot be read /opt/sun/glassfish-3.1.1/glassfish/domains/domain1/applications/QmsWeb/WEB-INF/classes/org/jboss/seam/transaction/SeamTransaction.class 
FINE: PWC4451: File cannot be read /opt/sun/glassfish-3.1.1/glassfish/domains/domain1/applications/QmsWeb/WEB-INF/classes/org/jboss/seam/transaction/SeamTransaction.class 
FINE: PWC4451: File cannot be read /opt/sun/glassfish-3.1.1/glassfish/domains/domain1/applications/QmsWeb/WEB-INF/classes/net/sf/ehcache/config/TerracottaConfiguration$ValueMode.class 
//... 

무엇 수 :

//... 
FINE: WELD-000105 Enabled interceptor types for Manager 
Enabled alternatives: [] [] 
Registered contexts: [interface javax.enterprise.context.SessionScoped, interface javax.enterprise.context.RequestScoped, interface javax.inject.Singleton, interface javax.enterprise.context.Dependent, interface javax.enterprise.context.ApplicationScoped, interface javax.enterprise.context.ConversationScoped] 
Registered beans: 0 
Specialized beans: 0 
: [] 

그리고 (여러 클래스) 이와 같은 여러 메시지 전에

이 오류가 발생 했습니까? 이 PWC4451 메시지가 일부 라이브러리가로드되지 않음을 나타낼 수 있습니까?

+0

아무데도 보이지 않는 것 같습니다. 개발 도구 프로그래머가 이것을 보게되면 좋은 오류 메시지가 특징이라는 것을 기억하십시오! – Nick

+2

이것은 실제로 Glassfish 문제로 플래그가 지정되며 문제에 따라 Glassfish 4.0에서 수정해야합니다. http://java.net/jira/browse/GLASSFISH-18599를 참조하십시오. 불행히도 이것은 여러분이나 나에게 도움이되지 않습니다. –

답변

6

이는 Serializable을 구현하지 않은 @ViewScoped 빈 때문이었습니다. 명백하게, 우리가 사용하고 있던 Weld의 이전 버전은 비활성화 가능한 범위의 Bean이 Serializable이 아니라는 것이 바람직하지 않다고 생각하지 않았지만, 이것 때문에 자동으로 실패했습니다. 오 잘, 누군가가 시간을 절약하기를 바랍니다.

+1

당신은 그것을 못 박았습니다! – Matyas

3

디버깅 3 시간 후 나는 글래스 피시에서 제대로 기록되지 않는 용접에서 몇 가지 오류 메시지 것 같다 보스 6.

에서 응용 프로그램을 배포하려고이 같은 문제를 해결했습니다. 필자는 @Stateless @RequestScoped라는 EJB에 주석을 달았습니다 (이는 불법이며 @Statefull이어야합니다). 글래스 피쉬에서는 JBoss 6에서 잘못된 코드를 나타내는 올바른 오류 메시지가 나타나는 동안 "응용 프로그램을로드하는 동안 오류가 발생했습니다"만 볼 수있었습니다.

Weld 배포자가 응용 프로그램을 검사하고 CDI 자료의 유효성을 검사하지 못하게하는 JBoss 6 (예 : 특정 JNDI 경로가있는 @Resource)에서 JBoss 6를 제거하는 것이 좋습니다.

+0

제안을 주셔서 감사 드리며 JBoss에서 내 응용 프로그램을 실행 해 보겠습니다. 이 버그가 Seam/GlassFish 관계자에게보고 된 것을 알고 계십니까? – Nick

2

필자의 경우, 문제는 내 beans.xml이 작동하는 데 사용되었지만 더 이상 보이지 않는 빈 "beans"요소로 구성된다는 것입니다. 완전히 빈 빈 0 바이트 beans.xml로 바꿨을 때 작동했습니다.

+0

이것이 내 문제를 해결했습니다! 고마워요 ... 내가 그걸 시도하기 전에 * 긴 시간이 걸렸을거야 :) –

2

Glassfish 3.1.2.2에 직렬화 할 수없는 인터셉터를 추가 할 때도 동일한 문제가있었습니다. 더 이상의 설명없이 NullPointerException을 받았습니다.

인터셉터를 구현할 때 제대로 작동합니다. Serializable.

1

이유와 해결책이 문제와 관련하여 발생했습니다.
- 대상이 업데이트되지 않았습니다. 대상 폴더가 잠길 수 있으므로 수동으로 제거하고 귀를 재구성하십시오. JDBC 풀에 문제가 있습니다. 플러시하십시오.
- EJB 생성자에 문제가 있습니다 (빈을 만드는 컨테이너에주의하십시오) : 컨테이너가 초기화 할 수 있어야합니다. 따라서 인수가없는 기본 생성자가 있어야합니다. 선물

작동하지 않는 경우 : 팀 -> 최근 작품 문제의 가능한 원인으로 웹 서비스에 대한 모든 EJB bean 또는 DTO를 고려해야합니다. 변경 사항에 주석을 달고 배치를 다시 시도하여 문제점을 찾으십시오.

어쨌든 그것은 끔찍한 오류입니다. (행운을 빈다!

0

내 경우에는 인터셉터 정신으로 내 주변에서 놀고 있었기 때문에 쉽게 찾을 수있었습니다.

주석을 사용하고 있지만 무인 @Interceptor를 인터셉터에 추가했습니다.

내 글래스 피시 버전은 3.1.2.2입니다.

이 페이지는 선택 사항이라고합니다. Inteceptor Javadoc.

관련 문제