Advertisement
Guest User

Untitled

a guest
Sep 12th, 2017
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. @Configuration
  2. @EnableTransactionManagement
  3. public class JpaConfig {
  4. @Bean
  5. public JpaVendorAdapter jpaVendorAdapter() {
  6. EclipseLinkJpaVendorAdapter jpaVendorAdapter = new EclipseLinkJpaVendorAdapter();
  7. jpaVendorAdapter.setGenerateDdl(false);
  8. jpaVendorAdapter.setShowSql(true);
  9. jpaVendorAdapter.setDatabasePlatform("Oracle11");
  10. return jpaVendorAdapter;
  11. }
  12.  
  13. @Bean
  14. LocalContainerEntityManagerFactoryBean entityManagerFactory() {
  15. LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
  16. localContainerEntityManagerFactoryBean.setDataSource(dataSource());
  17. localContainerEntityManagerFactoryBean.getJpaPropertyMap().put("eclipselink.weaving", "false");
  18. localContainerEntityManagerFactoryBean.setJpaVendorAdapter(jpaVendorAdapter());
  19. localContainerEntityManagerFactoryBean.setPackagesToScan("myPackage");
  20. return localContainerEntityManagerFactoryBean;
  21. }
  22.  
  23. @Bean
  24. public DataSource dataSource() {
  25. final SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
  26. dataSource.setDriver(new oracle.jdbc.OracleDriver());
  27. dataSource.setUrl("jdbc:oracle:thin:asdfdfaasdf");
  28. dataSource.setUsername("asdf");
  29. dataSource.setPassword("asdf");
  30. return dataSource;
  31. }
  32.  
  33. @Bean
  34. public PlatformTransactionManager txManager() {
  35. JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
  36. jpaTransactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
  37. jpaTransactionManager.setDataSource(dataSource());
  38. return jpaTransactionManager;
  39. }
  40. }
  41.  
  42. @SpringBootApplication
  43. @ComponentScan("myPackage")
  44. @ComponentScan("org.apache.cxf")
  45. public class Application {
  46. public static void main(String[] args) {
  47. SpringApplication.run(Application.class, args);
  48. }
  49. }
  50.  
  51. @Repository
  52. @Lazy(false)
  53. @DependsOn("txManager")
  54. public class TransactionalRepository {
  55. @Autowired
  56. IDictionaryDaoService dictionaryDaoService;
  57.  
  58. @Transactional(propagation = Propagation.REQUIRED)
  59. public void doInTransaction() {
  60. printStatus();
  61. }
  62.  
  63. @PostConstruct
  64. public void doWork() {
  65. printStatus();
  66. doInTransaction();
  67. }
  68.  
  69. @Transactional(propagation = Propagation.SUPPORTS)
  70. public void printStatus() {
  71. dictionaryDaoService.getCountries();
  72. ISystemLogger logger = getLogger(TransactionalRepository.class);
  73. if (TransactionSynchronizationManager.isActualTransactionActive()) {
  74. logger.error("TRANSACTION IS ACTIVE");
  75. TransactionStatus status = TransactionAspectSupport.currentTransactionStatus();
  76. logger.error(status.toString());
  77. } else {
  78. logger.error("TRANSACTION IS NOT ACTIVE");
  79. }
  80. }
  81.  
  82. public ISystemLogger getLogger(Class clazz) {
  83. return new NetWeaverLogger(clazz);
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement