JAVA回调函数简单讲解 CallBack
生活随笔
收集整理的這篇文章主要介紹了
JAVA回调函数简单讲解 CallBack
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
回調,其實就是有個回應的那種感覺。
那么,接下來,我們就用消息推送的場景,簡簡單單地講解下回調函數的使用。
直接看代碼,
先創建一個回調接口,
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;//重寫回調接口的方法@Overridepublic void onSccuess(String message, String account) {System.out.println("進入回調函數--"+"消息推送成功,"+"客戶是:"+account+" 推送的消息是:"+message);}@Overridepublic 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來看看整個跑起來是怎么回事,
?
運行結果:
?可以看到控制臺得輸出是
整個流程下來,應用調用消息客戶端,想要推送一條消息;
? ? ? ? ? ? ? ? ? ? ? ? ?消息客戶端拿到客戶信息和需要推送的消息后,調用消息服務端推送消息的方法進行推送操作;
? ? ? ? ? ? ? ? ? ? ? ? 消息服務端進行完推送操作后,調用客戶端的回調函數,告知推送成功或是失敗。
? 如果要驗證下消息推送失敗的回調,也簡單,把代碼
// int a=2/0;加到消息服務端推送處,模擬推送過程出現異常即可。
?
?
好了,簡單的回調函數的應用場景介紹就這樣吧, 可以熟悉后自己擴展。
總結
以上是生活随笔為你收集整理的JAVA回调函数简单讲解 CallBack的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【ACM-ICPC 2018 沈阳赛区网
- 下一篇: 简单的oracle备份恢复批处理文件 -