스프링 구성의 응용 프로그램 서버 - 클라이언트 RMI가 있습니다. 이제 @Aspect를 사용하여 메서드 호출 로깅을 추가하지 않을 것입니다. @Aspect with RMI
나는 나의 봄-context.xml에 추가 :<aop:aspectj-autoproxy>
</aop:aspectj-autoproxy>
<bean id="loggerAspect" class="my.aspect.LoggerAspect" />
내 loggerAspect
@Pointcut("execution(* my.rmi.service.*.*(..))")
내가 얻을 내 응용 프로그램을 실행하려고
정의했습니다Caused by: java.io.NotSerializableException: org.springframework.aop.aspectj.annotation.InstantiationModelAwarePointcutAdvisorImpl
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeArray(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
... 8 more
내 RMI 인터페이스는 Serializable를 확장 해,이 인터페이스로 사용되는 모든 클래스도 Serializable를 구현합니다.
RMI가 아닌 다른 클래스에서 내 애스펙트 로거가 올바르게 작동하지만 내 RMI가 벌거숭이 애스펙트 로거를 작동하지만 함께 작동하지 않는다고 추가 하겠지만 ... – Gocha