gpt4 book ai didi

java - 使用 REST Web 服务就修改情况与 2 个应用程序进行通信

转载 作者:行者123 更新时间:2023-11-30 06:47:07 25 4
gpt4 key购买 nike

我有两个应用程序,在第一个应用程序中我设置了操作,如果设置了操作,我必须将其数据发送到 REST Web 服务并在第二个应用程序中启动一个方法。问题是我不知道用户何时要在第一个操作中设置操作,因此我应该始终向 REST 发送请求以查看操作是否已设置。

在第一个应用程序中

  @RequestMapping("/add")
public void setSomething(){
final String uri = "http://localhost:8080/from";
Greeting greeting = new Greeting(3,"Send to the other App");
System.out.println("======================>>"+greeting.getContent());
RestTemplate restTemplate = new RestTemplate() ;
Greeting result= restTemplate.postForObject( uri,greeting, Greeting.class);
}

在第二个应用程序中:

  @RequestMapping(value = "/from", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee(@RequestBody Greeting greeting)
{

return new ResponseEntity(HttpStatus.ACCEPTED);
}

它正在工作,问候语被发送到其他应用程序,但是当我将问候语更改为另一个值时出现问题,其他应用程序始终记住第一个值,因此不会进行 mdofification

最佳答案

“当用户要在第一个操作内设置操作时”。当发生这种情况时,您的第一个操作中的代码将被调用,对吧?那么,为什么不在第二个应用程序中调用 Rest 端点来触发您需要的流程呢?

Application 1 :

If(operationSet){
SendRequestToREST(operation)
notifyApp2()// if your app 2 has rest endpoint you can use RestTemplate
}

Application 2 :

ListenToRest();
if(operationIsSet){
doSomething()
}

或者,如果您的架构包含 2 个以上的应用程序。只要告诉我们,我们就会利用 Message Queue AmazonSNS 免费服务发明其他解决方案。但如果它只是为了两个实例之间的通信 - 这个解决方案就足够了

你问第一个app1如何通知第二个app2。您建议app2检查app1是否设置了该参数。但现在有了这个解决方案,您只需在需要时通知App2即可。

//I am app1
public void notifyApp2(){
final String uri = "http://localhost:8080/from";
Greeting greeting = new Greeting(3,"Send to the other App");
System.out.println("======================>>"+greeting.getContent());
RestTemplate restTemplate = new RestTemplate() ;
Greeting result= restTemplate.postForObject( uri,greeting, Greeting.class);
}


@RequestMapping(value = "/from", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee()
{
//I am app2 and someone is calling my rest. I am being notified.
//maybe they notify me to set my operations setOperation=true;
return new ResponseEntity(HttpStatus.ACCEPTED);

}

现在假设用户正在使用 app1。当您从 app1 调用方法 setOperationInApp1 时,只需在下一行调用 notificationApp2() 即可。您将在这两个应用程序上设置操作

关于java - 使用 REST Web 服务就修改情况与 2 个应用程序进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com