Как проект SpringBoot устанавливает часовой пояс для каждого запросаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как проект SpringBoot устанавливает часовой пояс для каждого запроса

Сообщение Anonymous »

Сейчас у меня есть проект SpringBoot, и для получения времени уже установлено множество бизнес-кодов, таких как LocalDate.now(),LocalDateTime.now(),new Date(),new DateTime() . ....
Теперь я хочу установить часовой пояс для каждого запроса, чтобы бизнес-код выполнял выборку времени на основе часового пояса, но я не хочу менять бизнес-код, потому что это слишком много !
Я попробовал AspectJ для перехвата статических методов, но обнаружил, что он может перехватывать только статические методы, определенные им самим, а не статические методы пакетов JDK, таких как LocalDateTime

Код: Выделить всё

@Aspect
@Component
@Slf4j
public class ControllerAspect {

@Pointcut("execution(* com.pkslow.springboot.controller..*.*(..))")
private void testControllerPointcut() {

}

@Pointcut("execution(* java.time.LocalDateTime.now())")
private void testControllerPointcut1() {

}

@Around("testControllerPointcut1()")
public Object etst1(ProceedingJoinPoint pjp) throws Throwable {
log.info("request");
return LocalDateTime.now(ZoneId.of("America/Chicago"));
}
}

@RestController
@RequestMapping("/test")
@Slf4j
public class TestController {

private final TestService testService;

public TestController(TestService testService) {
this.testService = testService;
}

@GetMapping("/hello")
public String hello() {
System.out.println(LocalDateTime.now());
return "Hello, pkslow.";
}
}
Я не могу перехватывать вызовы классов JDK с помощью AspectJ

Подробнее здесь: https://stackoverflow.com/questions/791 ... ch-request
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»