首页 > 编程语言 >JAVA回调函数简单讲解 CallBack

JAVA回调函数简单讲解 CallBack

时间:2022-11-07 19:06:40浏览次数:44  
标签:account JAVA String CallBack 消息 讲解 message 推送 public


回调,其实就是有个回应的那种感觉。

那么,接下来,我们就用消息推送的场景,简简单单地讲解下回调函数的使用。

直接看代码,

先创建一个回调接口,

MessageCallBack

/**
* @Author : JCccc
* @CreateTime : 2019-2-12
* @Description :回调函数需要执行的内容
* @Point: Keep a good mood
**/

public interface MessageCallBack {
//成功
public void onSccuess(String message, String account);
//失败
public void onFailure(String message, String account);
//重连等等
}

接下来,是模拟消息发送的客户端,

MessageClient

/**
* @Author : JCccc
* @CreateTime : 2019-2-12
* @Description :
* @Point: Keep a good mood
**/
public class MessageClient implements MessageCallBack {

private String message;
private String account;
//重写回调接口的方法
@Override
public void onSccuess(String message, String account) {

System.out.println("进入回调函数--"+"消息推送成功,"+"客户是:"+account+" 推送的消息是:"+message);
}

@Override
public void onFailure(String message, String account) {

System.out.println("进入回调函数--"+"消息推送失败,"+"客户是:"+account+" 推送的消息是:"+message);

}

public void sendMessage(){

System.out.println("开始调用服务端进行消息的推送");
new MessageServer().send(message,account,this);

// new MessageServer().send(message,"Mike",new MessageClient(message,account));

}

public MessageClient(String message, String account) {
this.message = message;
this.account = account;
}

}

接下来,是模拟消息服务器:

 MessageServer:

/**
* @Author : JCccc
* @CreateTime : 2019-2-12
* @Description :
* @Point: Keep a good mood
**/
public class MessageServer {


public void send(String message, String account, MessageClient messageClient){

try {
System.out.println(message+" "+account+"消息推送完毕");
messageClient.onSccuess(message,account);
} catch (Exception e) {
e.printStackTrace();
messageClient.onFailure(message,account);
}



}
}

最后,写个简单的对外接口,提供消息推送,

MessageController

 

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
* @Author : JCccc
* @CreateTime : 2019-2-12
* @Description :
* @Point: Keep a good mood
**/

@RestController
public class MessageController {


@GetMapping("/sendMessage/test")
public void sendMesssage(@RequestParam String account){
String message="这是一条测试消息";
MessageClient messageClient=new MessageClient(message,account);
messageClient.sendMessage();
}

}

 

现在,代码码完了,我们打开postman来看看整个跑起来是怎么回事,

 

JAVA回调函数简单讲解   CallBack_推送

运行结果:

 可以看到控制台得输出是

JAVA回调函数简单讲解   CallBack_java_02

整个流程下来,应用调用消息客户端,想要推送一条消息;

                         消息客户端拿到客户信息和需要推送的消息后,调用消息服务端推送消息的方法进行推送操作;

                        消息服务端进行完推送操作后,调用客户端的回调函数,告知推送成功或是失败。

  如果要验证下消息推送失败的回调,也简单,把代码

// int a=2/0;

加到消息服务端推送处,模拟推送过程出现异常即可。

 

 

好了,简单的回调函数的应用场景介绍就这样吧, 可以熟悉后自己扩展。

标签:account,JAVA,String,CallBack,消息,讲解,message,推送,public
From: https://blog.51cto.com/u_15753094/5830856

相关文章