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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

具有GlassFish和一致性的高性能JPA –第1部分

發(fā)布時(shí)間:2023/12/3 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 具有GlassFish和一致性的高性能JPA –第1部分 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
您以前聽說過連貫性嗎? 大概是。 它是那些著名的內(nèi)存網(wǎng)格解決方案之一,該解決方案承諾了超快的數(shù)據(jù)訪問速度和對(duì)經(jīng)常使用的數(shù)據(jù)的無限空間。 一些眾所周知的競(jìng)爭(zhēng)對(duì)手是Infinispan , Memcached和Terracotta Ehcache 。 它們都很棒,而Coherence最糟糕的部分可能是它不是開源的。 這是一個(gè)由四部分組成的系列文章的第一部分,我將在其中簡(jiǎn)短說明Coherence與GlassFish的結(jié)合使用。 旨在簡(jiǎn)要概述可能的情況。 以下內(nèi)容將更詳細(xì),并以具體示例描述配置。

為什么要連貫?

但是,為什么我選擇了Coherence而不是其他任何一個(gè)? 我喜歡與GlassFish一起工作,并且最近一直在尋求與那些內(nèi)存網(wǎng)格之一進(jìn)行穩(wěn)定且輕松的集成,以解決某些數(shù)據(jù)密集型用例。 因此,首先要看的是Oracle產(chǎn)品堆棧。 這種想法或多或少地驅(qū)動(dòng)著,必須將任何類型的集成都集成到EclipseLink中,這是GlassFish附帶的JPA 2.0 RI。 特別是因?yàn)橛辛藥в蠮PA 2.0的新的Cache API。

最初的研究顯示該主題中的信息泄漏。 到目前為止,上述產(chǎn)品均未與EclipseLink進(jìn)行任何插件或其他集成。 即使EclipseLink擁有一個(gè)稱為“緩存攔截器”的框架,該框架使您能夠非常輕松地綁定第三方緩存系統(tǒng),我仍在尋找一種(可能受支持的)ootb解決方案。 所以我最后看了連貫性。 小說:我不是詢問許可或費(fèi)用的合適人選。 我要做的就是根據(jù)OTN許可證使用Coherence。

什么是連貫性?

Oracle Coherence是內(nèi)存中的數(shù)據(jù)網(wǎng)格解決方案。 您可以使用Coherence擴(kuò)展關(guān)鍵任務(wù)應(yīng)用程序,以提供對(duì)常用數(shù)據(jù)的快速訪問。 通過在多個(gè)服務(wù)器之間自動(dòng)動(dòng)態(tài)地對(duì)內(nèi)存中的數(shù)據(jù)進(jìn)行分區(qū),即使在服務(wù)器發(fā)生故障的情況下,Coherence也可以實(shí)現(xiàn)連續(xù)的數(shù)據(jù)可用性和事務(wù)完整性。 它是一個(gè)共享的基礎(chǔ)架構(gòu),將數(shù)據(jù)本地性與本地處理能力結(jié)合在一起以執(zhí)行實(shí)時(shí)數(shù)據(jù)分析,內(nèi)存網(wǎng)格計(jì)算以及并行事務(wù)和事件處理。

網(wǎng)格上JPA的策略

所有內(nèi)存數(shù)據(jù)網(wǎng)格解決方案都具有非常簡(jiǎn)單的put / get API。 您發(fā)出類似的內(nèi)容:

Cache.put(key, object); Cache.get(key);

將您的對(duì)象存儲(chǔ)到緩存中或從緩存中取回它們。 一致性將負(fù)責(zé)將所有內(nèi)容持久化到數(shù)據(jù)庫(kù)中(可能使用EclipseLink)。 從應(yīng)用程序的角度來看,這似乎是一個(gè)非常簡(jiǎn)單的API。 我們稱之為“ JPA支持的緩存”。 但這只是三種可能的情況之一。 第二種是用于JPA的L2緩存方法,這基本上意味著您只需實(shí)現(xiàn)基于JPA的應(yīng)用程序并在第二步中插入一致性。 第三是前兩者的結(jié)合,并且將所有數(shù)據(jù)庫(kù)操作直接重定向到Coherence。 這三者都有其優(yōu)點(diǎn),當(dāng)然也有缺點(diǎn)。

產(chǎn)品和定義

此時(shí),最好看看周圍的不同產(chǎn)品和名稱。 JPA 2 RI是EclipseLink ,它是Oracle稱為TopLink的商業(yè)產(chǎn)品的一部分。 所有的Coherence集成都是TopLink Grid產(chǎn)品的一部分,該產(chǎn)品還包含EclipseLink作為JPA實(shí)現(xiàn)。

1)JPA支持的緩存

您可以將Coherence API與通過JPA映射的數(shù)據(jù)庫(kù)支持的緩存一起使用。 網(wǎng)格通過JPA CacheLoader和CacheStore實(shí)現(xiàn)訪問關(guān)系數(shù)據(jù)。 在這種“傳統(tǒng)”一致性方法中,TopLink Grid提供了針對(duì)EclipseLink JPA優(yōu)化的CacheLoader和CacheStore實(shí)現(xiàn)。 ( EclipseLinkJPACacheLoaderEclipseLinkJPACacheStore ),它們都包含在toplink-grid.jar文件中。 這樣,您將使用標(biāo)準(zhǔn)的JPA運(yùn)行時(shí)配置文件persistence.xml和JPA映射文件orm.xml。 必須指定Coherence緩存配置文件coherence-cache-config.xml來覆蓋默認(rèn)的Coherence設(shè)置并定義CacheStore緩存方案。

我將在系列的第二部分中向您展示此示例。

2)JPA L2緩存

網(wǎng)格緩存配置使用Coherence作為JPA共享(L2)緩存。

主鍵查詢嘗試首先從Coherence獲取實(shí)體,如果不成功,將查詢數(shù)據(jù)庫(kù),并用查詢結(jié)果更新Coherence。 針對(duì)數(shù)據(jù)庫(kù)執(zhí)行非主鍵查詢,并針對(duì)Coherence檢查結(jié)果,以避免緩存實(shí)體的對(duì)象構(gòu)建成本。 新查詢的實(shí)體將放入Coherence。 寫操作將更新數(shù)據(jù)庫(kù),如果成功提交,則將更新后的實(shí)體放入Coherence。

我將在系列的第三部分中向您展示此示例。

3)具有JPA支持的緩存的JPA L2緩存

網(wǎng)格實(shí)體配置應(yīng)由需要快速訪問大量相當(dāng)穩(wěn)定的數(shù)據(jù)并且執(zhí)行相對(duì)較少更新的應(yīng)用程序使用,并與Coherence作為二級(jí)緩存結(jié)合使用,使用后寫功能通過異步執(zhí)行數(shù)據(jù)庫(kù)更新來縮短應(yīng)用程序響應(yīng)時(shí)間。 讀取操作從Coherence緩存中獲取對(duì)象。 寫入操作將對(duì)象放入Coherence緩存中,已配置的二級(jí)緩存對(duì)數(shù)據(jù)庫(kù)執(zhí)行寫入操作。

我將在系列的最后一部分向您展示此示例。

進(jìn)一步的閱讀和下載:

  • 相干性3.6
  • TopLink網(wǎng)格11g(11.1.1.3.0)
  • Toplinkgrid示例(需要登錄OTN)

參考: 帶有GlassFish和Coherence的高性能JPA –來自我們JCG合作伙伴 Markus Eisele的 第1部分 ,在“使用Java進(jìn)行企業(yè)軟件開發(fā)”博客中

相關(guān)文章 :
  • 具有GlassFish和一致性的高性能JPA –第2部分
  • 具有GlassFish和一致性的高性能JPA –第3部分
  • 在云中開發(fā)和測(cè)試
  • Java EE中的配置管理
  • 泄漏:Oracle WebLogic Server 12g
  • Java EE6裝飾器:在注入時(shí)裝飾類
  • Java教程和Android教程列表

翻譯自: https://www.javacodegeeks.com/2011/11/high-performance-jpa-with-glassfish-and.html

總結(jié)

以上是生活随笔為你收集整理的具有GlassFish和一致性的高性能JPA –第1部分的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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