우리는 주요 고객 대면 애플리케이션과 백엔드 웹 서비스간에 인터페이스하는 여러 웹 서비스 클라이언트 애플리케이션을 보유하고 있습니다. 이러한 웹 서비스 응용 프로그램은 JAXWS 코드와이를 사용하고자하는 모든 응용 프로그램 사이에 깨끗한 인터페이스를 제공하기 위해 웹 서비스 및 구현 코드와 직접 인터페이스하는 자체 JAXWS 스텁 코드를 생성합니다. 우리는 지난 몇 주 동안이 문제에 약간의 문제가 있었지만 대부분 해결되었습니다.java.lang.NoClassDefFoundError : ProceedingJoinPoint
이들을 고객 용 응용 프로그램에 통합 할시기가되었을 때 주로 JDK1.5와 1.6 비 호환성에 초점을 맞춘 수많은 문제가 발생했습니다. 이것들은 지금 해결되었지만 우리는 해결책이없는 또 다른 문제에 부딪쳤다. 각 측면은 POJO 빈을 의미
<aop:config>
<aop:pointcut id="pointcut" expression="execution(* MyService.*(..))" />
<aop:aspect id="throttling" ref="throttlingAdvisor">
<aop:around pointcut-ref="pointcut" method="doThrottle" />
</aop:aspect>
<aop:aspect id="errorHandling" ref="errorHandlingAdvisor">
<aop:around pointcut-ref="pointcut" method="handleExceptions" />
는,이 콩은에 명시된 방법을 포함 : 웹 서비스 클라이언트는 헤더 자격 증명, 예외 처리 및 제한과 같은 일반적인 일을 설정하는 AOP를 사용 org.aspectj.lang.ProceedingJoinPoint의 메소드 매개 변수 유형을 사용하여 구성하면, 이는 인터셉트하는 메소드의 인수를 추출하는 데 사용됩니다.
각 웹 서비스 클라이언트 (applicationContext-webservicename.xml에 있음)에 대해이 중 하나가 있습니다. 이 xml 파일은 고객 대면 응용 프로그램에 포함되고 고객 대면 응용 프로그램의 web.xml에서로드 된 기본 applicationContext.xml로 가져 오는 패키지 된 JAR 파일에 포함됩니다.
우리는이 웹 클라이언트에 대한 여러 가지 단위 테스트를 통해 개별적으로 별다른 문제가 없음을 증명합니다. 모든 서비스가 고객 대면 응용 프로그램에 포함되면 java.lang.NoClassDefFoundError : ProceedingJoinPoint 예외가 발생합니다 (우리는 JDK1.5.0_17에서 tomcat 5.5를 사용하고 있습니다).
특별한 의미가있는 경우를 대비하여 java.lang.NoClassDefFoundError 용 JavaDoc을 찾았습니다. JVM이 클래스가 존재하지 않는다고 생각하는 것처럼 보입니다. 그런 다음 찾을 수없는 클래스 (aspectjrt-1.5.4.jar 및 aspectjweaver-1.5.4.jar)가 들어있는 항아리를 찾았으므로이 클래스의 중복이 있으므로 각 항아리를 차례로 제거하려고 시도했습니다. 정확히 같은 오류가 발생합니다.
필수 종속성이 누락 되었습니까? 이 문제에 공통적 인 원인이 있습니까 (저는 어제 이것을 많이 찾지 않았습니다). 어떤 도움이라도 대단히 감사 할 것입니다.
어떻게 LTW를 Tomcat에 연결하고 있습니까? –