Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.93 KB | None | 0 0
  1. @Configuration
  2. @ComponentScan("com.caveatemptor")
  3. @EnableJpaRepositories
  4. @EnableTransactionManagement
  5. public class SpringDataJPAConfiguration {
  6.  
  7. private Logger LOG = LoggerFactory.getLogger(SpringDataJPAConfiguration.class);
  8.  
  9. // @Bean(destroyMethod = "close")
  10. // public BasicDataSource dataSource() {
  11. // BasicDataSource basicDataSource = new BasicDataSource();
  12. // basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
  13. // basicDataSource.setUrl("jdbc:mysql://localhost/ce");
  14. // basicDataSource.setUsername("root");
  15. // basicDataSource.setPassword("root");
  16. // basicDataSource.setInitialSize(1);
  17. // basicDataSource.setMaxIdle(5);
  18. // basicDataSource.setMaxOpenPreparedStatements(10);
  19. // LOG.debug("+++++++++++++Datasource Configured");
  20. // return basicDataSource;
  21. // }
  22.  
  23. @Bean
  24. public DriverManagerDataSource dataSource() {
  25. DriverManagerDataSource basicDatasource = new DriverManagerDataSource();
  26. basicDatasource.setDriverClassName("com.mysql.jdbc.Driver");
  27. basicDatasource.setUrl("jdbc:mysql://localhost/ce");
  28. basicDatasource.setUsername("root");
  29. basicDatasource.setPassword("root");
  30. LOG.debug("+++++++++++++Datasource Configured");
  31. return basicDatasource;
  32. }
  33.  
  34. // @Bean
  35. // public LocalContainerEntityManagerFactoryBean entityManager() {
  36. // LocalContainerEntityManagerFactoryBean bean = new
  37. // LocalContainerEntityManagerFactoryBean();
  38. // bean.setDataSource(this.dataSource());
  39. // bean.setLoadTimeWeaver(this.instrumentationLoadTimeWeaver());
  40. // bean.setJpaProperties(this.jpaProperties());
  41. // bean.setJpaVendorAdapter(this.vendorAdapter());
  42. // bean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
  43. // bean.setPackagesToScan("com.caveatemptor.core");
  44. // bean.setPersistenceUnitName("jpwh");
  45. // LOG.info("==================[Entity Manage Configured]==================");
  46. // return bean;
  47. // }
  48.  
  49. @Bean
  50. public HibernateJpaVendorAdapter vendorAdapter() {
  51. HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
  52. adapter.setShowSql(true);
  53. adapter.setGenerateDdl(true);
  54. LOG.info("==================[Hibernate Jpa Vendor Configured]==================");
  55. return adapter;
  56. }
  57.  
  58. @Bean
  59. public PlatformTransactionManager transactionManager() {
  60.  
  61. JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
  62. jpaTransactionManager.setDataSource(this.dataSource());
  63. jpaTransactionManager.setJpaProperties(this.jpaProperties());
  64.  
  65. // jpaTransactionManager.setEntityManagerFactory(this.entityManager().getObject());
  66. return jpaTransactionManager;
  67. }
  68.  
  69. @Bean
  70. public InstrumentationLoadTimeWeaver instrumentationLoadTimeWeaver() {
  71. return new InstrumentationLoadTimeWeaver();
  72. }
  73.  
  74. public Properties jpaProperties() {
  75. Properties properties = new Properties();
  76. properties.setProperty("hibernate.hbm2ddl.auto", "create");
  77. properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5InnoDBDialect");
  78. properties.setProperty("hibernate.show_sql", "true");
  79. properties.setProperty("hibernate.format_sql", "true");
  80. properties.setProperty("hibernate.ejb.naming_strategy", "org.hibernate.cfg.DefaultNamingStrategy");
  81. properties.setProperty("hibernate.order_by.default_null_ordering", "first");
  82. LOG.info("==================[JPA Properties Configured]==================");
  83. return properties;
  84. }
  85.  
  86. @Bean
  87. public SessionFactory sessionFactory() {
  88. LocalSessionFactoryBuilder bean = new LocalSessionFactoryBuilder(this.dataSource());
  89. bean.setProperties(this.jpaProperties());
  90. bean.addPackage("com.ceveatemptor");
  91. LOG.info("Session Factory Configured+++++++++++++++++++");
  92. return bean.buildSessionFactory();
  93. }
  94. }
  95.  
  96. public class DispatcherServletInitConfiguration extends AbstractAnnotationConfigDispatcherServletInitializer {
  97.  
  98. @Override
  99. protected Class<?>[] getRootConfigClasses() {
  100. return new Class[] { SpringDataJPAConfiguration.class };
  101. }
  102.  
  103. @Override
  104. protected Class<?>[] getServletConfigClasses() {
  105. return new Class[] { WebServletInitConfiguration.class };
  106. }
  107.  
  108. @Override
  109. protected String[] getServletMappings() {
  110. return new String[] { "/" };
  111. }
  112.  
  113. }
  114.  
  115. public abstract class GenericDAOImpl<T, ID extends Serializable> implements GenericDAO<T, ID> {
  116. @PersistenceContext
  117. protected EntityManager em;
  118.  
  119. protected final Class<T> entityClass;
  120.  
  121. public GenericDAOImpl(Class<T> entityClass) {
  122. this.entityClass = entityClass;
  123. }
  124. @Override
  125. public T makePersistent(T entity) {
  126. return em.merge(entity);
  127. }
  128. }
  129.  
  130. @Repository
  131. @Transactional
  132. @javax.transaction.Transactional
  133. public class ItemDAOImpl extends GenericDAOImpl<Item, Long> implements ItemDAO {
  134. public ItemDAOImpl() {
  135. super(Item.class);
  136. }
  137. }
  138.  
  139. Sep 02, 2017 11:30:22 AM org.apache.catalina.core.StandardWrapperValve invoke
  140. SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/portal] threw exception [Request processing failed; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'merge' call] with root cause
  141. javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'merge' call
  142. at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:282)
  143. at com.sun.proxy.$Proxy77.merge(Unknown Source)
  144. at com.caveatemptor.core.dao.GenericDAOImpl.makePersistent(GenericDAOImpl.java:53)
  145. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  146. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  147. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  148. at java.lang.reflect.Method.invoke(Method.java:498)
  149. at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
  150. at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
  151. at com.sun.proxy.$Proxy79.makePersistent(Unknown Source)
  152. at com.caveatemptor.web.controllers.ItemController.saveItem(ItemController.java:38)
  153. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  154. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  155. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  156. at java.lang.reflect.Method.invoke(Method.java:498)
  157. at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
  158. at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
  159. at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
  160. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
  161. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
  162. at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
  163. at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
  164. at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
  165. at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
  166. at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
  167. at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
  168. at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
  169. at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
  170. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
  171. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  172. at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  173. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
  174. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  175. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
  176. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
  177. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
  178. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
  179. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
  180. at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
  181. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
  182. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
  183. at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
  184. at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
  185. at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
  186. at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
  187. at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  188. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  189. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  190. at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  191. at java.lang.Thread.run(Thread.java:745)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement