由于项目中一个服务要去爬一个第三方的数据,而这个数据获取每次都要用到session这些信息,每次一个星期左右就需要从重启一次服务来重新获取,所以就需要用到重启的功能
<!--重启--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter</artifactId></dependency>
management:endpoint:restart:enabled: true
import com.example.OrderApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.context.restart.RestartEndpoint;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;import javax.annotation.Resource;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;@RequestMapping("order")
@RestController
public class OrderController {@Resourceprivate RestTemplate restTemplate;@Autowiredprivate RestartEndpoint restartEndpoint;@GetMapping("add")public String add(){System.out.printf("");String forObject = restTemplate.getForObject("http://localhost:8012/stock/incre", String.class);return ""+forObject;}@GetMapping("restart")public void restart(){//调用restart进行重启restartEndpoint.restart();}
}