Guest User

Untitled

a guest
Jan 20th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.94 KB | None | 0 0
  1. SEVERE: Servlet.service() for servlet [port] in context with path [/port] threw exception [Request processing failed; nested exception is org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread] with root cause
  2. org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread
  3. at org.springframework.orm.hibernate5.SpringSessionContext.currentSession(SpringSessionContext.java:143)
  4. at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:496)
  5. at com.port.domain.dao.DomainDAOImpl.getDomains(DomainDAOImpl.java:39)
  6. at com.port.domain.service.DomainServiceImpl.getDomains(DomainServiceImpl.java:21)
  7. at com.port.domain.controller.DomainRestController.getDomains(DomainRestController.java:23)
  8. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  9. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  10. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  11. at java.lang.reflect.Method.invoke(Method.java:498)
  12. at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
  13. at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
  14. at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
  15. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
  16. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
  17. at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
  18. at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
  19. at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
  20. at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
  21. at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
  22. at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
  23. at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
  24. at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
  25. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
  26. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  27. at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
  28. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
  29. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  30. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
  31. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
  32. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
  33. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
  34. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
  35. at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
  36. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
  37. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
  38. at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
  39. at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
  40. at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
  41. at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
  42. at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  43. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  44. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  45. at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  46. at java.lang.Thread.run(Thread.java:745)
  47.  
  48. package com.port.domain.model;
  49.  
  50. import java.util.Date;
  51. import javax.persistence.Column;
  52. import javax.persistence.Entity;
  53. import javax.persistence.GeneratedValue;
  54. import javax.persistence.GenerationType;
  55. import javax.persistence.Id;
  56. import javax.persistence.Table;
  57.  
  58. import org.springframework.stereotype.Component;
  59.  
  60. @Entity
  61. @Table(name="domainlist")
  62. @Component
  63. public class DomainList {
  64.  
  65. @Id
  66. @GeneratedValue(strategy=GenerationType.IDENTITY)
  67. @Column(name="domainID")
  68. private int domainID;
  69.  
  70. @Column(name="domainName")
  71. private String domainName;
  72.  
  73. @Column(name="currentPrice")
  74. private float currentPrice;
  75.  
  76. public int getDomainID() {
  77. return domainID;
  78. }
  79. public void setDomainID(int domainID) {
  80. this.domainID = domainID;
  81. }
  82.  
  83. public String getDomainName() {
  84. return domainName;
  85. }
  86. public void setDomainName(String domainName) {
  87. this.domainName = domainName;
  88. }
  89.  
  90. public float getCurrentPrice() {
  91. return currentPrice;
  92. }
  93. public void setCurrentPrice(float currentPrice) {
  94. this.currentPrice = currentPrice;
  95. }
  96.  
  97. @Override
  98. public String toString() {
  99. return "DomainList [domainID=" + domainID + ", domainName=" + domainName + ", currentPrice=" + currentPrice + "]";
  100. }
  101.  
  102. package com.port.domain.controller;
  103.  
  104. import java.util.List;
  105.  
  106. import org.springframework.beans.factory.annotation.Autowired;
  107. import org.springframework.web.bind.annotation.PathVariable;
  108. import org.springframework.web.bind.annotation.RequestMapping;
  109. import org.springframework.web.bind.annotation.RequestMethod;
  110. import org.springframework.web.bind.annotation.RestController;
  111.  
  112. import com.port.domain.model.DomainList;
  113. import com.port.domain.service.DomainService;
  114.  
  115.  
  116. @RestController
  117. public class DomainRestController {
  118.  
  119. @Autowired
  120. private DomainService domainService;
  121.  
  122. @RequestMapping(value="/getDomains", method=RequestMethod.GET, headers="Accept=application/json")
  123. public List<DomainList> getDomains() {
  124. List<DomainList> domainList = domainService.getDomains();
  125. return domainList ;
  126.  
  127. }
  128.  
  129. }
  130.  
  131. package com.port.domain.service;
  132.  
  133. import java.util.List;
  134.  
  135. import org.springframework.beans.factory.annotation.Autowired;
  136. import org.springframework.stereotype.Service;
  137. import org.springframework.transaction.annotation.Transactional;
  138.  
  139. import com.port.domain.dao.DomainDAO;
  140. import com.port.domain.model.DomainList;
  141.  
  142. @Service
  143. public class DomainServiceImpl implements DomainService {
  144.  
  145. @Autowired
  146. private DomainDAO domainDAO;
  147.  
  148. @Override
  149. @Transactional
  150. public List<DomainList> getDomains() {
  151. return domainDAO.getDomains();
  152. }
  153.  
  154. }
  155.  
  156. package com.port.domain.dao;
  157.  
  158. import java.util.List;
  159.  
  160. import org.hibernate.Session;
  161. import org.hibernate.SessionFactory;
  162. import org.hibernate.query.Query;
  163. import org.springframework.beans.factory.annotation.Autowired;
  164. import org.springframework.orm.hibernate5.HibernateTemplate;
  165. import org.springframework.stereotype.Repository;
  166. import org.springframework.transaction.annotation.Transactional;
  167.  
  168. import com.port.domain.model.DomainList;
  169.  
  170. @Repository
  171. public class DomainDAOImpl implements DomainDAO {
  172.  
  173. @Autowired
  174. private SessionFactory sessionFactory;
  175.  
  176. @Override
  177. public List<DomainList> getDomains() {
  178. Session currentSession = sessionFactory.getCurrentSession();
  179.  
  180. Query<DomainList> theQuery =
  181. currentSession.createQuery("from DomainList", DomainList.class);
  182.  
  183. List<DomainList> Domains = theQuery.getResultList();
  184.  
  185. for (DomainList domain : Domains)
  186. System.out.println(domain.toString());
  187. return Domains;
  188. }
  189.  
  190. }
  191.  
  192. <?xml version="1.0" encoding="UTF-8"?>
  193. <beans xmlns="http://www.springframework.org/schema/beans"
  194. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  195. xmlns:context="http://www.springframework.org/schema/context"
  196. xmlns:tx="http://www.springframework.org/schema/tx"
  197. xmlns:mvc="http://www.springframework.org/schema/mvc"
  198. xsi:schemaLocation="
  199. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  200. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
  201. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
  202. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
  203.  
  204. <context:annotation-config />
  205.  
  206. <mvc:annotation-driven/>
  207.  
  208. <!-- For the Stereotype annotations to work -->
  209. <context:component-scan
  210. base-package="com.port.domain.controller" />
  211. <context:component-scan
  212. base-package="com.port.domain.dao" />
  213. <context:component-scan
  214. base-package="com.port.domain.model" />
  215. <context:component-scan
  216. base-package="com.port.domain.service" />
  217.  
  218. <?xml version="1.0" encoding="UTF-8"?>
  219. <beans xmlns="http://www.springframework.org/schema/beans"
  220. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  221. xmlns:context="http://www.springframework.org/schema/context"
  222. xmlns:tx="http://www.springframework.org/schema/tx"
  223. xmlns:mvc="http://www.springframework.org/schema/mvc"
  224. xsi:schemaLocation="
  225. http://www.springframework.org/schema/beans
  226. http://www.springframework.org/schema/beans/spring-beans.xsd
  227. http://www.springframework.org/schema/context
  228. http://www.springframework.org/schema/context/spring-context.xsd
  229. http://www.springframework.org/schema/mvc
  230. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  231. http://www.springframework.org/schema/tx
  232. http://www.springframework.org/schema/tx/spring-tx.xsd">
  233.  
  234. <bean id="myDataSource"
  235. class="com.mchange.v2.c3p0.ComboPooledDataSource">
  236. <property name="driverClass" value="com.mysql.jdbc.Driver" />
  237. <property name="jdbcUrl"
  238. value="jdbc:mysql://localhost:3306/port" />
  239. <property name="user" value="username" />
  240. <property name="password" value="password" />
  241.  
  242. <!-- these are connection pool properties for C3P0 -->
  243. <property name="initialPoolSize" value="5" />
  244. <property name="minPoolSize" value="5" />
  245. <property name="maxPoolSize" value="20" />
  246. <property name="maxIdleTime" value="30000" />
  247. </bean>
  248.  
  249. <bean id="sessionFactory"
  250. class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
  251. <property name="dataSource" ref="myDataSource" />
  252. <property name="packagesToScan"
  253. value="com.port.domain.model" />
  254. <property name="hibernateProperties">
  255. <props>
  256. <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
  257. <prop key="hibernate.show_sql">true</prop>
  258. </props>
  259. </property>
  260. </bean>
  261. <bean id="myTransactionManager"
  262. class="org.springframework.orm.hibernate5.HibernateTransactionManager">
  263. <property name="sessionFactory" ref="sessionFactory" />
  264. </bean>
  265.  
  266. <!-- Step 4: Enable configuration of transactional behavior based on annotations -->
  267. <tx:annotation-driven transaction-manager="myTransactionManager"/>
  268.  
  269.  
  270. <mvc:resources location="/resources/"
  271. mapping="/resources/**"></mvc:resources>
  272. </beans>
  273.  
  274. <?xml version="1.0" encoding="UTF-8"?>
  275. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  276. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  277. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  278.  
  279. <display-name>SpringMvcRestHibernate</display-name>
  280.  
  281. <servlet>
  282. <servlet-name>port</servlet-name>
  283. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  284. <init-param>
  285. <param-name>contextConfigLocation</param-name>
  286. <param-value>/WEB-INF/springconfig.xml</param-value>
  287. </init-param>
  288. </servlet>
  289.  
  290. <servlet-mapping>
  291. <servlet-name>port</servlet-name>
  292. <url-pattern>/</url-pattern>
  293. </servlet-mapping>
  294.  
  295. <!-- Database configuration file -->
  296. <context-param>
  297. <param-name>contextConfigLocation</param-name>
  298. <param-value>/WEB-INF/hibernate.cfg.xml</param-value>
  299. </context-param>
  300.  
  301. <listener>
  302. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  303. </listener>
  304. </web-app>
Add Comment
Please, Sign In to add comment