응답이 반환 된 후 RequestContextHolder에 설정된 속성이 손실 됨

펀터 비키

SpringBoot에서 서비스를 노출했으며 RequestContextHolder에 몇 가지 속성을 저장하고 있습니다. API 중 하나에서 비동기 적으로 일부 활동을 수행해야합니다. 애플리케이션은 요청을 수락하고 활동을 수행하기위한 새 스레드를 생성하고 즉시 응답을 반환합니다. RequestContextHolder 개체도 스레드에 전달합니다. 스레드는 RequestContextHolder에서 속성을 가져 오려고 시도하고 응답이 전송 된 후 null 인 것처럼 보입니다. 스레드가 실행을 완료 한 후 응답을 반환하면 스레드에서 값을 사용할 수 있습니다. RequestContextHolder가 HTTPRequest에 연결되어 있고 응답이 반환되면 손실된다고 가정합니다. 내 가정이 맞습니까? 그렇다면이 시나리오를 어떻게 처리 할 수 ​​있습니까?

org.springframework.web.context.request.RequestContextHolder

예 베니 멜 니크

Spring Boot Application에서 RequestContextFilter는 요청을 RequestContextHolder로 설정하여 스레드 로컬 변수로 저장하고 컨트롤러가 반환 한 후 정리합니다. RequestContextHolder를 처리 중에 내용이 변경 될 수 있으므로 다른 스레드의 인수로 사용하는 것은 올바른 방법이 아닙니다.

모든 속성 세트를 포함하고 그 아래에 ThreadLocal이없는 ​​일반 객체 인 RequestContextHolder.getRequestAttributes ()에 의해 새로운 동시 작업을 시작하기 전에 실제 요청을 사용하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

QQmlApplicationEngine이 설정된 후 컨텍스트가 손실 됨

분류에서Dev

함수에 의해 수정 된 후 C 배열이 손상됨

분류에서Dev

VueJS : 동적 구성 요소가 다시로드 된 후 소품이 손실 됨

분류에서Dev

Ajax 호출에 의해 DOM이 업데이트 된 후 클릭 이벤트의 jQuery가 손실 됨

분류에서Dev

설정된 PHP 세션 var가 자바 스크립트에 의한 리디렉션 후 손실 된 이유

분류에서Dev

리디렉션 후 GA 향상된 전자 상거래 세션이 손실 됨

분류에서Dev

재부팅 후 Debian Multi Monitor 설정이 손실 됨

분류에서Dev

피라미드 렌더링 된 JSON 응답이 문자열로 반환 됨

분류에서Dev

for 루프 후 반환 된 배열이 잘못됨

분류에서Dev

목표 C-제약 조건이 제거 된 후 반환 됨

분류에서Dev

DB2 클라이언트 업데이트 후 손실 된 ODBC 설정

분류에서Dev

계산 된 속성이 두 번 반환 됨

분류에서Dev

Outlook : Powershell을 통해 생성 된 경우 업데이트 후 연락처 참조가 손실 됨

분류에서Dev

사실이 된 후에도 PHP False 반환

분류에서Dev

"if"문이 추가 된 후 변수 설정이 중지됨

분류에서Dev

Ubuntu Touch 이중 부팅 복구를 설치 한 후 손실 됨

분류에서Dev

NSURLConnection은 Authorization Heder를 재설정 한 후에도 캐시 된 응답을 반환합니다.

분류에서Dev

Telerik 그리드 정렬 후 손실 된 클릭 이벤트

분류에서Dev

재부팅 후 사용자 정의 키 매핑이 손실 됨

분류에서Dev

viewcontroller에 설정된 셀 속성이 반영되지 않음

분류에서Dev

노드 모듈 목록이 반환 된 후 배치 파일이 종료 됨

분류에서Dev

"과도하게 적용"후 Entity Framework에서 탐색 속성 추적이 손실 됨

분류에서Dev

"과도하게 적용"후 Entity Framework에서 탐색 속성 추적이 손실 됨

분류에서Dev

datatables : 길이 필터에서 앞에 추가 된 사용자 정의 필터 값이 손실 됨

분류에서Dev

0과 1로 구성된 2 차원 배열, 슬라이스 및 키가 Python에서 설정된대로 반환 됨

분류에서Dev

터미널 프로필에서 매핑 된 드라이브가 계속 손실 됨

분류에서Dev

함수에서 반환 된 API 응답이 정의되지 않음을 반환합니다.

분류에서Dev

Raspberry Pi를 다시 시작하기 직전에 AJAX 응답이 손실 됨

분류에서Dev

nodejs가 새로운 Ubuntu 12.04.5에 설치된 후 npm이 응답하지 않음

Related 관련 기사

  1. 1

    QQmlApplicationEngine이 설정된 후 컨텍스트가 손실 됨

  2. 2

    함수에 의해 수정 된 후 C 배열이 손상됨

  3. 3

    VueJS : 동적 구성 요소가 다시로드 된 후 소품이 손실 됨

  4. 4

    Ajax 호출에 의해 DOM이 업데이트 된 후 클릭 이벤트의 jQuery가 손실 됨

  5. 5

    설정된 PHP 세션 var가 자바 스크립트에 의한 리디렉션 후 손실 된 이유

  6. 6

    리디렉션 후 GA 향상된 전자 상거래 세션이 손실 됨

  7. 7

    재부팅 후 Debian Multi Monitor 설정이 손실 됨

  8. 8

    피라미드 렌더링 된 JSON 응답이 문자열로 반환 됨

  9. 9

    for 루프 후 반환 된 배열이 잘못됨

  10. 10

    목표 C-제약 조건이 제거 된 후 반환 됨

  11. 11

    DB2 클라이언트 업데이트 후 손실 된 ODBC 설정

  12. 12

    계산 된 속성이 두 번 반환 됨

  13. 13

    Outlook : Powershell을 통해 생성 된 경우 업데이트 후 연락처 참조가 손실 됨

  14. 14

    사실이 된 후에도 PHP False 반환

  15. 15

    "if"문이 추가 된 후 변수 설정이 중지됨

  16. 16

    Ubuntu Touch 이중 부팅 복구를 설치 한 후 손실 됨

  17. 17

    NSURLConnection은 Authorization Heder를 재설정 한 후에도 캐시 된 응답을 반환합니다.

  18. 18

    Telerik 그리드 정렬 후 손실 된 클릭 이벤트

  19. 19

    재부팅 후 사용자 정의 키 매핑이 손실 됨

  20. 20

    viewcontroller에 설정된 셀 속성이 반영되지 않음

  21. 21

    노드 모듈 목록이 반환 된 후 배치 파일이 종료 됨

  22. 22

    "과도하게 적용"후 Entity Framework에서 탐색 속성 추적이 손실 됨

  23. 23

    "과도하게 적용"후 Entity Framework에서 탐색 속성 추적이 손실 됨

  24. 24

    datatables : 길이 필터에서 앞에 추가 된 사용자 정의 필터 값이 손실 됨

  25. 25

    0과 1로 구성된 2 차원 배열, 슬라이스 및 키가 Python에서 설정된대로 반환 됨

  26. 26

    터미널 프로필에서 매핑 된 드라이브가 계속 손실 됨

  27. 27

    함수에서 반환 된 API 응답이 정의되지 않음을 반환합니다.

  28. 28

    Raspberry Pi를 다시 시작하기 직전에 AJAX 응답이 손실 됨

  29. 29

    nodejs가 새로운 Ubuntu 12.04.5에 설치된 후 npm이 응답하지 않음

뜨겁다태그

보관