Birden çok JavaConfig bağlamında @EnableTransactionManagement
ek açıklamasını yerleştirmek için doğru yer nerede anlamaya çalışıyorum?@EnableTransactionManagement'ın kapsamı nedir?
Aşağıdaki senaryoyu düşünün: JPAConfig.java ve AppConfig.java'da hizmet çekirdeklerinden oluşan JPA yapılandırm var. Sonra RootConfig.java'da genel uygulama yapılandırması oluşturuyorum.
JPAConfig.java içindeki işlem yöneticisini tanımlamanın yanı sıra JPA depoları için tarama işlemini etkinleştiririm - işlem davranışları ortaya çıktıkça, JPAConfig üzerinden @EnableTransactionManagement
koyarım ve çalışır. Bununla birlikte, bazı servis çekirdeklerinin, aynı zamanda işlem yöntemlerine de sahip olması gerekmektedir. tek bir işlem içinde çeşitli depolara erişim. AppConfig üzerinden de @EnableTransactionManagement
koymalı mıyım? Bu açıklamanın uygulanışına bakıldığında, böyle bir yaklaşımın bazı fasülyelerin yeniden tanımlanmasına neden olacağı görülmektedir. Ve aslında bunu yapmak benim için işe yaramıyor.
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories("com.mypackage.repositories")
public class JPAConfig {
// ... here are EntityManager and PlatformTransactionManager beans
}
@Configuration
@ComponentScan("com.mypackage.services")
// @EnableTransactionManagement // - ???
public class AppConfig {
}
@Configuration
@Import({AppConfig.class, JPAConfig.class})
public class RootConfig {
}
Tüm önerileri takdir edin. Ben görünüyor bazı deneylerden sonra
Bu ek açıklama, işlem yönetimi öğelerini tüm uygulama içeriğine ekler. Bu onun kapsamı. –
Ancak, işlem ek açıklamalarının genel RootConfig için işlem görmesini sağlamaz. En azından benim için çalışmıyor. –