我在一台服务器上安装了Angular 2应用程序,在另一台服务器上安装了Java应用程序。
我想从Java ping Angular应用程序以检查状态(是向上还是向下)。
有没有办法让Angular 2 RESTful API为这些数据提供服务,或者我是否需要Node.js上的东西来检查应用状态(在那里制作rest api?)??
感谢任何帮助
答案 0 :(得分:1)
我在Java代码中给你举个例子。所以你需要做的是创建一个线程(计划与否;我在这个例子中使用cron调度程序)将尝试访问 http://localhost:4200 ,默认情况下你的angular2服务器
public class AppConfig{
@Autowired
RequestStatus reqStat;
@Scheduled(cron="0 */5 0-3,5-23 * * *")
public void checkAvailability()
{
if(!reqStat.fetchProduction()){
//do something
}
public class RequestStatus {
public boolean fetchProduction() {
boolean result = false;
try {
URL url = new URL("http://localhost:4200/");
url.openStream();
result = true;
} catch (Exception ex) {
}
return result;
}
public class CheckAvailabilityThread{
@Autowired
RequestStatus reqStat;
}
此外,如果您想在JS中执行此操作,响应标头中的状态代码 200 将完成您的工作。
答案 1 :(得分:0)
取决于你想要检查的内容。
来自网站的200回复就够了吗?
或者您想确保某些逻辑正常运行。如果是这种情况,那么我们在Angular应用程序中有一个路由,快速检查关键API,如果没有则返回200,如果不是则返回400。例如:domain.com/status/probe