Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Configuration
- @EnableTransactionManagement
- public class JpaConfig {
- @Bean
- public JpaVendorAdapter jpaVendorAdapter() {
- EclipseLinkJpaVendorAdapter jpaVendorAdapter = new EclipseLinkJpaVendorAdapter();
- jpaVendorAdapter.setGenerateDdl(false);
- jpaVendorAdapter.setShowSql(true);
- jpaVendorAdapter.setDatabasePlatform("Oracle11");
- return jpaVendorAdapter;
- }
- @Bean
- LocalContainerEntityManagerFactoryBean entityManagerFactory() {
- LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
- localContainerEntityManagerFactoryBean.setDataSource(dataSource());
- localContainerEntityManagerFactoryBean.getJpaPropertyMap().put("eclipselink.weaving", "false");
- localContainerEntityManagerFactoryBean.setJpaVendorAdapter(jpaVendorAdapter());
- localContainerEntityManagerFactoryBean.setPackagesToScan("myPackage");
- return localContainerEntityManagerFactoryBean;
- }
- @Bean
- public DataSource dataSource() {
- final SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
- dataSource.setDriver(new oracle.jdbc.OracleDriver());
- dataSource.setUrl("jdbc:oracle:thin:asdfdfaasdf");
- dataSource.setUsername("asdf");
- dataSource.setPassword("asdf");
- return dataSource;
- }
- @Bean
- public PlatformTransactionManager txManager() {
- JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
- jpaTransactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
- jpaTransactionManager.setDataSource(dataSource());
- return jpaTransactionManager;
- }
- }
- @SpringBootApplication
- @ComponentScan("myPackage")
- @ComponentScan("org.apache.cxf")
- public class Application {
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
- }
- @Repository
- @Lazy(false)
- @DependsOn("txManager")
- public class TransactionalRepository {
- @Autowired
- IDictionaryDaoService dictionaryDaoService;
- @Transactional(propagation = Propagation.REQUIRED)
- public void doInTransaction() {
- printStatus();
- }
- @PostConstruct
- public void doWork() {
- printStatus();
- doInTransaction();
- }
- @Transactional(propagation = Propagation.SUPPORTS)
- public void printStatus() {
- dictionaryDaoService.getCountries();
- ISystemLogger logger = getLogger(TransactionalRepository.class);
- if (TransactionSynchronizationManager.isActualTransactionActive()) {
- logger.error("TRANSACTION IS ACTIVE");
- TransactionStatus status = TransactionAspectSupport.currentTransactionStatus();
- logger.error(status.toString());
- } else {
- logger.error("TRANSACTION IS NOT ACTIVE");
- }
- }
- public ISystemLogger getLogger(Class clazz) {
- return new NetWeaverLogger(clazz);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement