2013-05-09 2 views
1

타임 스탬프에 대한 사용자 정의 된 값을 반환하기 위해 JDK 메서드 System.currentTimeMillis()에 대한 pointcut + advice를 원합니다. Spring 프레임 워크에서 이것이 가능한지 알고 싶습니다.JDK 클래스 용 AOP 적용

+1

나는이 사람이 나이는 것을 알고 있지만 여전히 답이없는 사람으로 열거되어 있습니다. 받아 들일 것이고 내 대답을 상향 조정하는 것이 적절하다고 생각하십니까? 감사. – kriegaex

답변

2

아니요. 이렇게하려면 AspectJ를 사용하여 JDK를 계측하고 고유 한 사용자 정의 JDK 버전을 만들어야합니다. Spring AOP는 Spring bean만을 프록시 할 수있다. java.lang.instrument과 BCEL 또는 ASM과 같은 도구를 통한 다른 접근 방식도 사용할 수 있습니다.

현재 : 90 %는 원하는 것을 성취하기위한 쉬운 방법이 있다고 확신합니다. 시스템 기능의 결과를 위조하려는 이유를 설명 할 수 있습니까?

+0

단순히 JBOSS 응용 프로그램 서버에서 실행되는 응용 프로그램의 시간 이동 테스트가 필요합니다. 이 링크 (ttp : //virgo47.wordpress.com/2012/06/22/changing-system-time-in-java/ t)에 설명 된 방법을 시도했지만 전체 JVM의 시간을 변경하므로 앱 서버가 혼란스러워집니다. 신청서를 제출하기 만하면됩니다. 따라서 date factory 메소드를 사용해 보았지만 응용 프로그램에 사용 된 타사 라이브러리는 JDK가 제공된 시간을 직접 사용했을 수 있습니다. 그래서 이것이 제가이 AOP 일에 온 이유입니다. 어떤 도움도 매우 풍부합니다. – user2307172