日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java EE6事件:JMS的轻量级替代品

發(fā)布時間:2023/12/3 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java EE6事件:JMS的轻量级替代品 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我今天要討論的功能是Java EE 6中的事件機制。一般的想法是觸發(fā)一個事件,并讓事件監(jiān)聽器來接收它。

我創(chuàng)建了這個完全沒有用的示例,但是它的簡單性幫助我專注于重要的內(nèi)容。 我將從后備操作中觸發(fā)LogEvent,該事件將記錄到j(luò)ava.util.Logger中。

我需要做的第一件事是創(chuàng)建一個包含我的日志消息和LogLevel的POJO。

public class LogMessage implements Serializable {private final String message;private final Level level;LogMessage(String message, Level level) {this.message = message;this.level = level;}public String getMessage() {return message;}public Level getLevel() {return level;} }

現(xiàn)在有了數(shù)據(jù)包裝器,我需要一些東西來觸發(fā)該事件,并需要一些東西來拾取它。 我創(chuàng)建的第一件事是觸發(fā)事件的方法。

由于CDI,我可以注入事件。

@Inject Event<LogMessage> event;

所以我們只需要解雇它。

event.fire(new LogMessage("Log it baby!", Level.INFO));

現(xiàn)在觸發(fā)了該事件,如果沒有人注冊該事件,該事件將消失,從而創(chuàng)建一個偵聽器。 偵聽器需要一種具有一個參數(shù)的方法,該參數(shù)是上一個事件的通用類型。 LogMessage。

public class LogListener {private static final Logger LOGGER = Logger.getAnonymousLogger();public void process(@Observes LogMessage message){LOGGER.log(message.getLevel(), message.getMessage());} }

@Observes批注使用LogMessage偵聽所有事件。 觸發(fā)事件時,將觸發(fā)此方法。

這是創(chuàng)建松耦合應(yīng)用程序的一種非常不錯的方法,您可以在這些事件偵聽器中分離繁重的操作或封裝不太重要的操作。

所有這些都是同步發(fā)生的。 當我們想用對記錄表的慢速數(shù)據(jù)庫調(diào)用來替換log語句時,我們可以使我們的操作比應(yīng)有的繁重。

我正在尋找的是創(chuàng)建一個異步調(diào)用。 只要我們支持EJB,就可以通過在其之上添加@Stateless批注將偵聽器轉(zhuǎn)換為EJB。 現(xiàn)在,它是一個無狀態(tài)的企業(yè)bean。 這對我們的同步/異步問題沒有任何改變,但是EJB 3.1支持異步操作。 因此,如果我們還在其頂部添加@Asynchronous批注。 它將異步執(zhí)行我們的日志記錄語句。

@Stateless @Asynchronous public class LogListener {private static final Logger LOGGER = Logger.getAnonymousLogger();public void process(@Observes LogMessage message){LOGGER.log(message.getLevel(), message.getMessage());} }

如果我們想將數(shù)據(jù)庫日志記錄和控制臺日志記錄結(jié)合起來,我們可以創(chuàng)建多個偵聽同一事件的方法。

這是創(chuàng)建具有非常靈活的組件的輕量級應(yīng)用程序的好方法。 解決此問題的另一種方法是使用JMS,但您不希望為這種松散耦合配置重量級的配置。

參考: Java EE6 Events,這是我們的JCG合作伙伴 Jelle Victoor在Styled Ideas Blog上 對JMS的輕量級替代 。

相關(guān)文章 :
  • Java EE6裝飾器:在注入時裝飾類
  • 基本的EJB參考,注入和查找
  • Java EE過去,現(xiàn)在和云7
  • JBoss AS 7.0.2“ Arc”發(fā)布–使用綁定選項
  • Java EE中的配置管理
  • Java教程和Android教程列表

翻譯自: https://www.javacodegeeks.com/2011/10/java-ee6-events-lightweight-alternative.html

總結(jié)

以上是生活随笔為你收集整理的Java EE6事件:JMS的轻量级替代品的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91偷拍视频| 久射网 | www.天天射 | 免费日韩在线 | 亚洲成人无码久久 | 爱情岛亚洲论坛入口福利 | 午夜少妇影院 | 啊灬啊灬啊灬秀婷 | 天天免费视频 | 黄色成人毛片 | 亚洲最大成人综合网 | 国产精品国产三级国产传播 | 视频在线a | 色一情一区二区三区 | 欧美日本综合 | 91精品一区 | 成人激情五月天 | 精品一二三区久久aaa片 | 黄色免费视频网站 | 动漫美女隐私无遮挡 | 97久久综合 | 成人午夜免费网站 | 黄网www| 中文亚洲av片不卡在线观看 | 日韩人妻精品一区二区 | 欧美99热 | 欧亚一区二区三区 | 一吻定情2013日剧 | 一区二区视频播放 | 日韩三级在线播放 | 亚洲男女av | 色婷婷18| 欧美一区二区免费 | 成人性生生活性生交3 | 在线色网址 | 外国av网站 | 亚洲精品久久久狠狠狠爱 | 免费精品国产 | 护士的小嫩嫩好紧好爽 | 国产制服丝袜 | 777免费视频 | 理论片在线观看视频 | 国产精品久久国产愉拍 | 捆绑无遮挡打光屁股调教女仆 | 亚洲精品二 | 伊人国产女 | 91偷拍富婆spa盗摄在线 | 尤物综合网 | 欧洲成人午夜精品无码区久久 | 骚狐网站| 香港一级淫片免费放 | 九九视频这里只有精品 | 黑人操亚洲女人 | 久久6精品 | 97操操 | 日批在线播放 | 伊人欧美在线 | 中文精品一区二区三区 | 岛国av免费在线观看 | 欧美69久成人做爰视频 | 色呦呦麻豆 | 高清国产在线观看 | 国产午夜一级一片免费播放 | 卡通动漫精品一区二区三区 | 久久久精品日本 | 国产精品一区二区亚洲 | 变态另类ts人妖一区二区 | 少妇2做爰交换朴银狐 | 深夜在线免费视频 | 综合网五月天 | 久久久久久久中文字幕 | 看a网站 | 免费h片在线观看 | 美女黄视频在线观看 | 原神淫辱系列同人h | 中文字幕一区二区在线观看 | 黄色av网站在线播放 | 欧美人与动牲交a欧美精品 欧美三级在线看 | 国产精品久久久久久久 | 日本不卡中文字幕 | 视频一区二区三 | 黄色网页在线免费观看 | 亚洲国产经典 | 美女日日日| 欧美片在线观看 | 午夜在线国产 | 91吃瓜今日吃瓜入口 | 99久久国 | 久久国产视频网站 | 日本一本在线观看 | 自拍偷拍第五页 | 午夜性 | 成人在线观看国产 | 国产精品腿扒开做爽爽爽挤奶网站 | 国产高中女学生第一次 | 色男人av| 国产精品zjzjzj在线观看 | 毛片免费一区二区三区 | 国产黄免费 |