国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring Boot 參考指南(使用JTA分布式事務(wù))

silenceboy / 1978人閱讀

摘要:使用事務(wù)管理器是支持的一個流行的開源事務(wù)管理器實現(xiàn),你可以使用啟動器向項目添加適當?shù)囊蕾図棧c和一樣,將自動配置并對進行后處理,以確保啟動和關(guān)閉順序是正確的。

37. 用JTA分布式事務(wù)

通過使用Atomikos或Bitronix嵌入式事務(wù)管理器,Spring Boot支持跨多個XA資源的分布式JTA事務(wù),在部署到合適的Java EE應(yīng)用服務(wù)器時也支持JTA事務(wù)。

當檢測到JTA環(huán)境時,使用Spring的JtaTransactionManager來管理事務(wù),自動配置的JMS、數(shù)據(jù)源和JPA bean被升級為支持XA事務(wù),你可以使用標準的Spring風格,例如@Transactional,來參與分布式事務(wù)。如果你在JTA環(huán)境中,并且仍然希望使用本地事務(wù),你可以設(shè)置spring.jta.enabled屬性為false以禁用JTA自動配置。

37.1 使用Atomikos事務(wù)管理器

Atomikos是一種流行的開源事務(wù)管理器,可以嵌入到Spring Boot應(yīng)用程序中,你可以使用spring-boot-starter-jta-atomikos啟動器來拉取適當?shù)腁tomikos庫,Spring Boot可以自動配置Atomikos,并確保將適當?shù)囊蕾囋O(shè)置應(yīng)用到你的Spring bean中,以實現(xiàn)正確的啟動和關(guān)閉順序。

默認情況下,Atomikos事務(wù)日志被寫入應(yīng)用程序的主目錄中的transaction-logs目錄(應(yīng)用程序jar文件所在的目錄),你可以通過在application.properties文件中設(shè)置spring.jta.log-dir來定制這個目錄的位置,從spring.jta.atomikos.properties開始的屬性還可以用于定制Atomikos UserTransactionServiceImp,請參閱AtomikosProperties Javadoc獲取完整的詳細信息。

為了確保多個事務(wù)管理器可以安全地協(xié)調(diào)相同的資源管理器,每個Atomikos實例必須配置唯一的ID,默認情況下,這個ID是Atomikos運行的機器的IP地址。為了確保生產(chǎn)中具有唯一性,你應(yīng)該為應(yīng)用程序的每個實例配置spring.jta.transaction-manager-id屬性的不同值。
37.2 使用Bitronix事務(wù)管理器

Bitronix是一個流行的開源JTA事務(wù)管理器實現(xiàn),你可以使用spring-boot-starter-jta-bitronix啟動器向項目添加適當?shù)腂itronix依賴項,與Atomikos一樣,Spring Boot可以自動配置Bitronix并對bean進行后處理,以確保啟動和關(guān)閉順序是正確的。

默認情況下,Bitronix事務(wù)日志文件(part1.btmpart2.btm)被寫入到應(yīng)用程序主目錄中的transaction-logs目錄中,你可以通過設(shè)置spring.jta.log-dir屬性來定制這個目錄的位置。從spring.jta.bitronix.properties開始的屬性也綁定到bitronix.tm.Configuration bean,允許進行完全定制,詳細信息請參閱Bitronix文檔。

37.3 使用Narayana事務(wù)管理器

Narayana是JBoss支持的一個流行的開源JTA事務(wù)管理器實現(xiàn),你可以使用spring-boot-starter-jta-narayana啟動器向項目添加適當?shù)腘arayana依賴項,與Atomikos和Bitronix一樣,Spring Boot將自動配置Narayana并對bean進行后處理,以確保啟動和關(guān)閉順序是正確的。

默認情況下,Narayana事務(wù)日志被寫到應(yīng)用程序主目錄中的transaction-logs目錄(應(yīng)用程序jar文件所在的目錄),你可以在application.properties文件通過設(shè)置spring.jta.log-dir屬性來定制這個目錄的位置,從spring.jta.narayana.properties開始的屬性也可以用來定制narayana配置,有關(guān)詳細信息,請參閱NarayanaProperties Javadoc。

37.4 使用Java EE Managed事務(wù)管理器

如果將Spring Boot應(yīng)用程序打包為warear文件并將其部署到Java EE應(yīng)用服務(wù)器,則可以使用應(yīng)用服務(wù)器的內(nèi)置事務(wù)管理器。Spring Boot試圖通過查看常見的JNDI位置(java:comp/UserTransaction, java:comp/TransactionManager,等等)自動配置事務(wù)管理器,如果你使用由應(yīng)用服務(wù)器提供的事務(wù)服務(wù),你通常還希望確保所有資源都由服務(wù)器管理,并通過JNDI公開。Spring Boot試圖通過在JNDI路徑(java:/JmsXAjava:/XAConnectionFactory)查找ConnectionFactory來自動配置JMS,你可以使用spring.datasource.jndi-name屬性來配置DataSource

37.5 混合XA和非XA JMS連接

在使用JTA時,主要的JMS ConnectionFactory bean是支持xa的,并參與分布式事務(wù),在某些情況下,你可能希望通過使用非XA ConnectionFactory來處理某些JMS消息,例如,你的JMS處理邏輯可能需要比XA超時更長的時間。

如果希望使用非XA ConnectionFactory,可以注入nonXaJmsConnectionFactory bean而不是@Primary jmsConnectionFactory bean,為了保持一致性,jmsConnectionFactory bean也通過使用bean別名xaJmsConnectionFactory提供。

下面的示例演示如何注入ConnectionFactory實例:

// Inject the primary (XA aware) ConnectionFactory
@Autowired
private ConnectionFactory defaultConnectionFactory;

// Inject the XA aware ConnectionFactory (uses the alias and injects the same as above)
@Autowired
@Qualifier("xaJmsConnectionFactory")
private ConnectionFactory xaConnectionFactory;

// Inject the non-XA aware ConnectionFactory
@Autowired
@Qualifier("nonXaJmsConnectionFactory")
private ConnectionFactory nonXaConnectionFactory;
37.6 支持供選擇的嵌入式事務(wù)管理器

可以使用XAConnectionFactoryWrapper和XADataSourceWrapper接口來支持供選擇的嵌入式事務(wù)管理器,接口負責封裝XAConnectionFactoryXADataSource bean,并將它們公開為常規(guī)的ConnectionFactoryDataSource bean,它們透明地注冊到分布式事務(wù)中。數(shù)據(jù)源和JMS自動配置使用JTA變體,前提是你有一個JtaTransactionManager bean和在你的ApplicationContext中注冊的適當?shù)腦A包裝器bean。

BitronixXAConnectionFactoryWrapper和BitronixXADataSourceWrapper提供了如何編寫XA包裝器的好例子。

上一篇:驗證&發(fā)送電子郵件 下一篇:Hazelcast

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/71285.html

相關(guān)文章

  • Spring Boot 參考指南(構(gòu)建系統(tǒng))

    摘要:構(gòu)建系統(tǒng)強烈建議你選擇一個支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到中心存儲庫的工件。例如,要升級到另一個,你可以將以下元素添加到你的在前面的示例中,我們指定了一個,但是任何依賴類型都可以以相同的方式被覆蓋。 13. 構(gòu)建系統(tǒng) 強烈建議你選擇一個支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到Maven中心存儲庫的工件。我們建議你選擇Maven或Gradle,可以讓Spring Boot與其...

    thursday 評論0 收藏0
  • Spring Boot 參考指南(Hazelcast)

    摘要:如果在類路徑上并且找到了合適的配置,那么將自動配置一個可以在應(yīng)用程序中注入的。如果在類路徑中存在,那么首先嘗試通過檢查以下配置選項來創(chuàng)建存在的。通過屬性定義的配置文件。 38. Hazelcast 如果Hazelcast在類路徑上并且找到了合適的配置,那么Spring Boot將自動配置一個可以在應(yīng)用程序中注入的HazelcastInstance。 如果定義了com.hazelcast...

    jindong 評論0 收藏0
  • Spring Boot 參考指南(驗證&發(fā)送電子郵件)

    摘要:例如,以下服務(wù)觸發(fā)第一個參數(shù)的驗證,確保其大小在到之間發(fā)送電子郵件框架為使用接口發(fā)送電子郵件提供了一個簡單的抽象,為它提供了自動配置以及啟動模塊。有關(guān)如何使用的詳細說明,請參閱參考文檔。 35. 驗證 只要類路徑上有JSR-303實現(xiàn)(比如Hibernate驗證器),Bean validation 1.1支持的方法驗證特性就會自動啟用,這就讓bean方法在參數(shù)和/或返回值上使用java...

    fjcgreat 評論0 收藏0
  • Spring Boot 參考指南(目錄)

    摘要:參考指南使你可以輕松地創(chuàng)建可運行的獨立的生產(chǎn)級的基于的應(yīng)用程序,我們對平臺和第三方庫有自己的看法,這樣你就可以以最低限度工作開始了,大多數(shù)應(yīng)用程序都需要很少的配置。文檔本節(jié)簡要概述了參考文檔,它充當文檔其余部分的映射。 Spring Boot 參考指南 Spring Boot使你可以輕松地創(chuàng)建可運行的獨立的、生產(chǎn)級的基于Spring的應(yīng)用程序,我們對Spring平臺和第三方庫有自己的看...

    awesome23 評論0 收藏0
  • Spring Boot QuickStart (1)

    摘要:開始介紹簡化了基于的應(yīng)用開發(fā),你只需要就能創(chuàng)建一個獨立的,產(chǎn)品級別的應(yīng)用。該包含很多搭建,快速運行項目所需的依賴,并提供一致的,可管理傳遞性的依賴集。日志級別通過標識開啟控制臺級別日志記錄,也可以在中指定日志級別配置示例 開始 介紹 Spring Boot 簡化了基于 Spring 的應(yīng)用開發(fā),你只需要 run 就能創(chuàng)建一個獨立的,產(chǎn)品級別的 Spring 應(yīng)用。 Spring 平臺...

    klinson 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<