2013-10-16 60 views
0

我正在使用獨立的駱駝框架,我想擁有交易路線。我檢查了簡單地使用.transacted()不起作用,因爲我沒有在上下文中的PlatformTransactionManager。如何讓駱駝交易「沒有J2EE」

你能指點我一種正確配置這種情況的方法嗎?

回答

1

您需要告訴Camel(或者實際上由Camel用來處理事務的Spring)您要使用的事務管理器。

事務管理器可以是基於您集成的資源(數據庫或JMS系統)的單個資源事務管理器,也可以是能夠同步多個資源之間事務的分佈式事務管理器,例如JavaEE服務器事務管理器或獨立的,如Atomikos,bitronix,JBossTM等。

如果你想要單一資源事務(非XA),在這個page上有非常好的配置示例,用於JMS(ActiveMQ)和JDBC(Derby)。應該直接切換到其他JMS /數據庫產品。

設置一個獨立的XA事務管理器並不難,但配置將有很大的不同,取決於涉及的組件。在駱駝行動書中有一些例子,並且在這個主題上有很多blogs /堆棧溢出帖子和articleson the web

+0

Thanks.I've讀了駱駝在行動,但 – Rafael

+0

謝謝。我已經讀過駱駝的行動...當你有所有的部分和運行,但我沒有發現他們對如何配置有用的例子有非常好的...讓我們說,如你所說,如何告訴駱駝(春天)我想要使用什麼交易管理器。也許我問這是因爲我對Spring的知識缺乏,我應該更好地看看Spring和一些你指出的獨立XA服務器。 – Rafael

+0

是的,從駱駝的角度來看 - 您需要的只是一個Spring PlatformTransactionManager。您需要在別處查找細節,特別是如果您使用某個XA管理器。即使這樣,您可能需要爲各種jms /數據庫系統進行特殊配置。 –