0

in main method ,I start a new thread

RequestContextHolder.setRequestAttributes(RequestContextHolder.getRequestAttributes(), true);
HandleDataThread handleDataThread = new HandleDataThread(emailVo);
handleDataThread.start();

I will call a static method in this thread :

RestTemplateUtil.sendEmailByHttp(emailVo);

the static class :


@Component 
public class RestTemplateUtil {
    private static RestTemplate restTemplate;

    private RestTemplateUtil(){}
    @Autowired
    public static void setRestTemplate(RestTemplate restTemplate) {
        RestTemplateUtil.restTemplate = restTemplate;
    }

 
    public static void sendEmailByHttp(EmailVO emailVo) {
        String url = "http://host//xxxx/xxxx"; 
        ResponseEntity<RespInfo> entity = restTemplate.postForEntity(url, emailVo, RespInfo.class);
       ...
    }
}

the restTemplate complain NullPoint,and post method fail when host use discovery service name

0 Answers0