<BEA-160237> Failed to load class… 웹로직 기동시 발생

11g -> 14c 업그레이드 과정에서 발생한 로그


12c 이상 웹로직에서 발생하는 로그로, 다른 WAS와 비교했을 때 동일 어플리케이션이지만 유난히 서버 기동시간이 오래걸릴 경우 확인해볼법 하다.

우선 로그레벨을 Debug 로 내려야 확인이 가능

User Application을 배포하는 과정에서 아래와 같이 ‘Failed to load class’ 오류가 발생하며 deploy시에 지연이 발생함.

이 오류는 log level이 debug일 경우 확인이 되며 application은 정상 배포된다.

예시
<date> <Debug> <J2EE> <BEA-160237> <Failed to load class org.apache.kafka.clients.producer.Callback by ClassLoader weblogic.utils.classloaders.GenericClassLoader@1c158734 finder: weblogic.utils.classloaders.CodeGenClassFinder@5aab7c3 annotation: when looking up impelementation classes for classes specified by the value of @HandleTypes. The class loading error message is org.apache.kafka.clients.producer.Callback. Class org.apache.kafka.clients.producer.Callback will be ignored for processing the @HandleTypes annotation.>

<date> <Debug> <J2EE> <BEA-160237> <Failed to load class org.apache.kafka.clients.producer.Callback by ClassLoader weblogic.utils.classloaders.GenericClassLoader@1c158734 finder: weblogic.utils.classloaders.CodeGenClassFinder@5aab7c3 annotation: when looking up impelementation classes for classes specified by the value of @HandleTypes. The class loading error message is org.apache.kafka.clients.producer.Callback. Class org.apache.kafka.clients.producer.Callback will be ignored for processing the @HandleTypes annotation.>

위와같은 형식이며 org.apache.kafka.clients.producer 가 없다는 뜻임

이유는 12c (12.2.1.0 이상) 에서 배포시 class scan 중 상속관계에 있는 클래스들을 찾기 시작하게 바뀌면서 발생함.(A extends B 일 경우 기존에는 A만 있어도 별다른 특이사항 없이 실행이 되었지만 위 버전 이후로부터는 B도 찾기 시작)

다만 애플리케이션 동작에는 전혀 문제가 없지만, 기동시 지연 발생 가능성이 있음.


해결방법

1. 그냥 무시한다

2. 클래스들을 lib나 class dir 에 위치시킨다.

Leave a Comment