Error of "no transaction is in progress" at Service Creation from UUI 33/116533/2
authorhekeguang <hekeguang@chinamobile.com>
Tue, 29 Dec 2020 08:44:30 +0000 (16:44 +0800)
committerhekeguang <hekeguang@chinamobile.com>
Tue, 29 Dec 2020 09:11:39 +0000 (17:11 +0800)
Issue-ID: USECASEUI-512
Change-Id: I1db2f25307c7b5b4c8c5daff18a4563b6986147b
Signed-off-by: hekeguang <hekeguang@chinamobile.com>
server/src/main/java/org/onap/usecaseui/server/hibernate/HibernateConfiguration.java
server/src/main/java/org/onap/usecaseui/server/service/csmf/impl/SlicingServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/impl/AlarmsHeaderServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/impl/AlarmsInformationServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/impl/PerformanceHeaderServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/impl/PerformanceInformationServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceLcmService.java
server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/TaskMgtServiceImpl.java
server/src/main/resources/application.properties

index 1a3953d..09558bc 100755 (executable)
@@ -22,6 +22,7 @@ import javax.sql.DataSource;
 import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.context.annotation.Bean;\r
 import org.springframework.context.annotation.Configuration;\r
+import org.springframework.core.env.Environment;\r
 import org.springframework.orm.hibernate5.LocalSessionFactoryBean;\r
 import org.springframework.orm.jpa.JpaTransactionManager;\r
 import org.springframework.transaction.PlatformTransactionManager;\r
@@ -30,6 +31,9 @@ import org.springframework.transaction.PlatformTransactionManager;
 @Configuration\r
 public class HibernateConfiguration\r
 {\r
+    @Autowired\r
+    private Environment environment;\r
+\r
     @Autowired\r
     private DataSource dataSource;\r
 \r
@@ -45,8 +49,11 @@ public class HibernateConfiguration
 \r
     private Properties hibernateProperties() {\r
         Properties properties = new Properties();\r
-        properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");\r
-        properties.put("hibernate.show_sql", "true");\r
+        properties.put("hibernate.dialect", "org.hibernate.dialect.PostgreSQL9Dialect");\r
+        properties.setProperty("hibernate.current_session_context_class", environment.getProperty("spring.jpa.properties.hibernate.current_session_context_class"));\r
+        properties.setProperty("hibernate.show-sql", environment.getProperty("spring.jpa.properties.hibernate.show-sql"));\r
+        properties.setProperty("hibernate.cache.use_second_level_cache", environment.getProperty("spring.jpa.properties.hibernate.cache.use_second_level_cache"));\r
+        properties.setProperty("hibernate.cache.use_query_cache", environment.getProperty("spring.jpa.properties.hibernate.cache.use_query_cache"));\r
         return properties;        \r
     }\r
 \r
index 4fa4eb6..2fe25f1 100644 (file)
@@ -137,7 +137,7 @@ public class SlicingServiceImpl implements SlicingService {
             if (updateResponse.isSuccessful()) {
                 CreateResponse createResponse = updateResponse.body();
                 logger.info("createSlicingService: submitOrders reponse is:{}",
-                    gson.toJson(updateResponse).toString());
+                    gson.toJson(createResponse).toString());
 
                 // set create operation result
                 createResult.setService_id(createResponse.getService().getServiceId());
index cb8b1ae..3c1870b 100755 (executable)
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.Collections;\r
 import java.util.List;\r
 \r
+import javax.persistence.EntityManagerFactory;\r
 import javax.transaction.Transactional;\r
 \r
 import org.hibernate.Query;\r
@@ -48,14 +49,14 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
        private static final Logger logger = LoggerFactory.getLogger(AlarmsHeaderServiceImpl.class);\r
 \r
        @Autowired\r
-       private SessionFactory sessionFactory;\r
+       private EntityManagerFactory entityManagerFactory;\r
 \r
-       private Session getSession() {\r
-               return sessionFactory.openSession();\r
-       }\r
+       public Session getSession() {\r
+               return entityManagerFactory.unwrap(SessionFactory.class).getCurrentSession();}\r
 \r
        public String saveAlarmsHeader(AlarmsHeader alarmsHeader) {\r
-                try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        if (null == alarmsHeader) {\r
                                logger.error("AlarmsHeaderServiceImpl saveAlarmsHeader alarmsHeader is null!");\r
                                return "0";\r
@@ -74,7 +75,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
 \r
        @Override\r
        public String updateAlarmsHeader(AlarmsHeader alarmsHeader) {\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        if (null == alarmsHeader){\r
                                logger.error("AlarmsHeaderServiceImpl updateAlarmsHeader alarmsHeader is null!");\r
                                return "0";\r
@@ -92,7 +94,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
        }\r
 \r
        public int getAllCount(AlarmsHeader alarmsHeader,int currentPage,int pageSize) {\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        StringBuffer count=new StringBuffer("select count(*) from AlarmsHeader a where 1=1");\r
                        if (null == alarmsHeader) {\r
                                logger.error("AlarmsHeaderServiceImpl getAllCount alarmsHeader is null!");\r
@@ -134,8 +137,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
                Page<AlarmsHeader> page = new Page<AlarmsHeader>();\r
                int allRow =this.getAllCount(alarmsHeader,currentPage,pageSize);\r
                int offset = page.countOffset(currentPage, pageSize);\r
-\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        StringBuffer hql =new StringBuffer("from AlarmsHeader a where 1=1");\r
                        if (null == alarmsHeader) {\r
                                logger.error("AlarmsHeaderServiceImpl queryAlarmsHeader alarmsHeader is null!");\r
@@ -181,7 +184,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
        @SuppressWarnings("unchecked")\r
        @Override\r
        public List<AlarmsHeader> queryId(String[] id) {\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        List<AlarmsHeader> list = new ArrayList<AlarmsHeader>();\r
                        if(id.length==0) {\r
                                logger.error("AlarmsHeaderServiceImpl queryId is null!");\r
@@ -198,8 +202,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
        \r
        @Override\r
        public String updateAlarmsHeader2018(String status, Timestamp date, String startEpochMicrosecCleared, String lastEpochMicroSecCleared, String eventName, String reportingEntityName, String specificProblem) {\r
-\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        //try(Session session = sessionFactory.getCurrentSession();){\r
                        session.beginTransaction();\r
 \r
@@ -227,7 +231,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
 \r
     @Override\r
     public String queryStatusCount(String status) {\r
-        try(Session session = getSession()){\r
+        Session session = getSession();\r
+        try{\r
             String hql = "select count(status) from AlarmsHeader a";\r
             if (!status.equals("0"))\r
                 hql+=" where a.status = :status";\r
@@ -243,7 +248,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
     \r
        @Override\r
        public AlarmsHeader getAlarmsHeaderById(String id) {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
 \r
                        String string = "from AlarmsHeader a where 1=1 and a.id=:id";\r
                        Query q = session.createQuery(string);\r
@@ -259,8 +265,8 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
 \r
        @Override\r
        public List<SortMaster> listSortMasters(String sortType) {\r
-               \r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        StringBuffer hql =new StringBuffer("from SortMaster a where 1=1 and a.sortType=:sortType");\r
                        Query query = session.createQuery(hql.toString());\r
                        query.setString("sortType",sortType);\r
index b8ba6e4..1d73904 100755 (executable)
@@ -18,6 +18,7 @@ package org.onap.usecaseui.server.service.impl;
 \r
 import java.util.ArrayList;\r
 import java.util.List;\r
+import javax.persistence.EntityManagerFactory;\r
 import javax.transaction.Transactional;\r
 import org.hibernate.Query;\r
 import org.hibernate.Session;\r
@@ -42,15 +43,15 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
        private static final Logger logger = LoggerFactory.getLogger(AlarmsInformationServiceImpl.class);\r
 \r
        @Autowired\r
-       private SessionFactory sessionFactory;\r
+       private EntityManagerFactory entityManagerFactory;\r
 \r
-       private Session getSession() {\r
-               return sessionFactory.openSession();\r
-       }\r
+       public Session getSession() {\r
+               return entityManagerFactory.unwrap(SessionFactory.class).getCurrentSession();}\r
 \r
        @Override\r
        public String saveAlarmsInformation(AlarmsInformation alarmsInformation) {\r
-                try(Session session = getSession()){\r
+                 Session session = getSession();\r
+                 try{\r
                                if (null == alarmsInformation) {\r
                                        logger.error("alarmsInformation saveAlarmsInformation alarmsInformation is null!");\r
                                }\r
@@ -68,7 +69,8 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
 \r
        @Override\r
        public String updateAlarmsInformation(AlarmsInformation alarmsInformation) {\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        if (null == alarmsInformation) {\r
                                logger.error("alarmsInformation updateAlarmsInformation alarmsInformation is null!");\r
                        }\r
@@ -85,7 +87,8 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
        \r
 \r
        public int getAllCount(AlarmsInformation alarmsInformation, int currentPage, int pageSize) {\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        StringBuilder hql = new StringBuilder("select count(*) from AlarmsInformation a where 1=1");\r
                        if (null == alarmsInformation) {\r
                        }else {\r
@@ -122,14 +125,14 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
        @SuppressWarnings("unchecked")\r
        @Override\r
        public List<AlarmsInformation> queryId(String[] id) {\r
+               Session session = getSession();\r
                try {\r
                        if(id.length==0) {\r
                        }\r
                        List<AlarmsInformation> list = new ArrayList<AlarmsInformation>();\r
-                       Session session = getSession();\r
+\r
                        Query query = session.createQuery("from AlarmsInformation a where a.sourceId IN (:alist)");\r
                        list = query.setParameterList("alist", id).list();\r
-                       session.close();\r
                        return list;\r
                } catch (Exception e) {\r
                        logger.error("exception occurred while performing AlarmsInformationServiceImpl queryId. Details:" + e.getMessage());\r
@@ -143,7 +146,8 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                if("1526554800000".equals(startTime)){\r
                        System.out.print(startTime);\r
                }\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        String hql = "select count(*) from AlarmsHeader a where 1=1 ";\r
                        if (sourceName != null && !"".equals(sourceName)){\r
                                hql += " and a.sourceName = :sourceName";\r
@@ -151,10 +155,12 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                        if (UuiCommonUtil.isNotNullOrEmpty(status)){\r
                                hql += " and a.status = :status";\r
                        }\r
+                       String zero = "0";\r
                        if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
-                               hql += " and (CASE WHEN a.startEpochMicrosec=0 THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ";\r
+                               hql += " and (CASE WHEN a.startEpochMicrosec=:zero THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ";\r
                        }\r
                        Query query = session.createQuery(hql);\r
+                       query.setString("zero",zero);\r
                        if (sourceName != null && !"".equals(sourceName)){\r
                                query.setString("sourceName",sourceName);\r
                        }\r
@@ -175,7 +181,8 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
        @Override\r
        public List<maxAndMinTimeBean> queryMaxAndMinTime(){\r
                List<maxAndMinTimeBean> list = new ArrayList<>();\r
-               try (Session session = getSession()){\r
+               Session session = getSession();\r
+               try {\r
                        String sql = "select MAX(startEpochMicrosec),MIN(startEpochMicrosec) FROM alarms_commoneventheader";\r
                        Query query = session.createSQLQuery(sql);\r
                        list = query.list();\r
@@ -191,7 +198,8 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
 \r
        @Override\r
        public List<AlarmsInformation> getAllAlarmsInformationByHeaderId(String headerId) {\r
-               try (Session session = getSession()){\r
+               Session session = getSession();\r
+               try {\r
                        String string = "from AlarmsInformation a where 1=1 and a.headerId=:headerId";\r
                        Query query = session.createQuery(string);\r
                        query.setString("headerId",headerId);\r
index 3b49a7e..bcf34c6 100755 (executable)
@@ -19,6 +19,7 @@ package org.onap.usecaseui.server.service.impl;
 import java.util.ArrayList;\r
 import java.util.List;\r
 \r
+import javax.persistence.EntityManagerFactory;\r
 import javax.transaction.Transactional;\r
 \r
 import org.hibernate.Query;\r
@@ -45,15 +46,15 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        private static final Logger logger = LoggerFactory.getLogger(PerformanceHeaderServiceImpl.class);\r
 \r
        @Autowired\r
-       private SessionFactory sessionFactory;\r
+       private EntityManagerFactory entityManagerFactory;\r
 \r
-       private Session getSession() {\r
-               return sessionFactory.openSession();\r
-       }\r
+       public Session getSession() {\r
+               return entityManagerFactory.unwrap(SessionFactory.class).getCurrentSession();}\r
 \r
        @Override\r
        public String savePerformanceHeader(PerformanceHeader performanceHeder) {\r
-                try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        if (null == performanceHeder){\r
                                logger.error("PerformanceHeaderServiceImpl savePerformanceHeader performanceHeder is null!");\r
                                return "0";\r
@@ -71,7 +72,8 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
 \r
        @Override\r
        public String updatePerformanceHeader(PerformanceHeader performanceHeder) {\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        if (null == performanceHeder){\r
                                logger.error("PerformanceHeaderServiceImpl updatePerformanceHeader performanceHeder is null!");\r
                                return "0";\r
@@ -88,7 +90,8 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        }\r
 \r
        public int getAllCount(PerformanceHeader performanceHeder, int currentPage, int pageSize) {\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        StringBuffer hql = new StringBuffer("select count(*) from PerformanceHeader a where 1=1");\r
                        if (null == performanceHeder) {\r
                                return 0;\r
@@ -120,8 +123,8 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
                Page<PerformanceHeader> page = new Page<PerformanceHeader>();\r
                int allRow =this.getAllCount(performanceHeder,currentPage,pageSize);\r
                int offset = page.countOffset(currentPage, pageSize);\r
-\r
-               try(Session session = getSession()){\r
+               Session session = getSession();\r
+               try{\r
                        StringBuffer hql =new StringBuffer("from PerformanceHeader a where 1=1");\r
                                if(UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getSourceName())) {\r
                                        String ver =performanceHeder.getSourceName();\r
@@ -152,7 +155,8 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        @SuppressWarnings("unchecked")\r
        @Override\r
        public List<PerformanceHeader> queryId(String[] id) {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        List<PerformanceHeader> list = new ArrayList<PerformanceHeader>();\r
                        if(id.length==0) {\r
                                return list;\r
@@ -168,7 +172,8 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
 \r
        @Override\r
        public List<String> queryAllSourceNames() {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        Query query = session.createQuery("select distinct a.sourceName from PerformanceHeader a");\r
                        return query.list();\r
                } catch (Exception e) {\r
@@ -179,7 +184,8 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        \r
        @Override\r
        public PerformanceHeader getPerformanceHeaderById(String id) {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
 \r
                        String string = "from PerformanceHeader a where 1=1 and a.id=:id";\r
                        Query q = session.createQuery(string);\r
index e32cd76..34a7dec 100755 (executable)
@@ -21,6 +21,7 @@ import java.util.Date;
 import java.util.List;\r
 \r
 \r
+import javax.persistence.EntityManagerFactory;\r
 import javax.transaction.Transactional;\r
 \r
 import com.google.common.base.Throwables;\r
@@ -47,15 +48,15 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        private static final Logger logger = LoggerFactory.getLogger(PerformanceInformationServiceImpl.class);\r
 \r
        @Autowired\r
-       private SessionFactory sessionFactory;\r
+       private EntityManagerFactory entityManagerFactory;\r
 \r
-       private Session getSession() {\r
-               return sessionFactory.openSession();\r
-       }\r
+       public Session getSession() {\r
+               return entityManagerFactory.unwrap(SessionFactory.class).getCurrentSession();}\r
 \r
        @Override\r
        public String savePerformanceInformation(PerformanceInformation performanceInformation) {\r
-       try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        if (null == performanceInformation) {\r
                        }\r
                        Transaction tx = session.beginTransaction();\r
@@ -71,7 +72,8 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
 \r
        @Override\r
        public String updatePerformanceInformation(PerformanceInformation performanceInformation) {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        if (null == performanceInformation) {\r
                        }\r
                        logger.info("PerformanceInformationServiceImpl updatePerformanceInformation: performanceInformation={}", performanceInformation);\r
@@ -89,7 +91,8 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        @SuppressWarnings("unchecked")\r
        @Override\r
        public List<PerformanceInformation> queryId(String[] id) {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        if(id.length==0) {\r
                        }\r
                        List<PerformanceInformation> list = new ArrayList<>();\r
@@ -106,7 +109,8 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        @SuppressWarnings("unchecked")\r
        @Override\r
        public List<PerformanceInformation> queryDateBetween(String sourceId, Date startDate, Date endDate) {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        List<PerformanceInformation> list = new ArrayList<>();\r
                        Query query = session.createQuery("from PerformanceInformation a where a.sourceId = :sourceId and a.createTime BETWEEN :startDate and :endDate");\r
                        list = query.setParameter("sourceId",sourceId).setParameter("startDate", startDate).setParameter("endDate",endDate).list();\r
@@ -120,7 +124,8 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        @SuppressWarnings("unchecked")\r
        @Override\r
        public int queryDataBetweenSum(String sourceId, String name, Date startDate, Date endDate){\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        int sum = 0;\r
                        Query query = session.createQuery("select sum(a.value) from PerformanceInformation a where a.sourceId = :sourceId and a.name = :name and a.createTime BETWEEN :startDate and :endDate");\r
                        sum = Integer.parseInt(query.setParameter("sourceId",sourceId).setParameter("name",name).setParameter("startDate", startDate).setParameter("endDate",endDate).uniqueResult().toString());\r
@@ -133,7 +138,8 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
 \r
        @Override\r
        public List<PerformanceInformation> queryDateBetween(String resourceId, String name, String startTime, String endTime) {\r
-               try(Session session = getSession()) {\r
+               Session session = getSession();\r
+               try {\r
                        String hql = "from PerformanceInformation a where 1=1 ";\r
                        if (resourceId != null && !"".equals(resourceId)){\r
                                hql += " and a.sourceId = :resourceId";\r
@@ -164,7 +170,8 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        \r
        @Override\r
        public List<PerformanceInformation> getAllPerformanceInformationByHeaderId(String headerId) {\r
-               try (Session session = getSession()){\r
+               Session session = getSession();\r
+               try {\r
                        String string = "from PerformanceInformation a where 1=1 and a.headerId=:headerId";\r
                        Query query = session.createQuery(string);\r
                        query.setString("headerId",headerId);\r
@@ -180,7 +187,8 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        \r
     @Override\r
     public String queryMaxValueByBetweenDate(String sourceId, String name, String startTime, String endTime) {\r
-        try(Session session = getSession()) {\r
+                       Session session = getSession();\r
+                    try {\r
             String hql = "select max(a.value) from PerformanceInformation a where 1=1 ";\r
             if (sourceId != null && !"".equals(sourceId)){\r
                 hql += " and a.sourceId = :resourceId";\r
index ef5875c..11e75ac 100644 (file)
@@ -22,9 +22,13 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.PersistenceContext;
 import javax.servlet.http.HttpServletRequest;
 
 import com.google.common.base.Throwables;
+import javax.transaction.Transactional;
 import org.hibernate.Query;
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
@@ -48,16 +52,16 @@ import okhttp3.RequestBody;
 import retrofit2.Response;
 
 @Service("ServiceLcmService")
+@Transactional
 public class DefaultServiceLcmService implements ServiceLcmService {
 
     private static final Logger logger = LoggerFactory.getLogger(DefaultServiceLcmService.class);
 
     @Autowired
-    private SessionFactory sessionFactory;
+    private EntityManagerFactory entityManagerFactory;
 
-    private Session getSession() {
-        return sessionFactory.openSession();
-    }
+    public Session getSession() {
+        return entityManagerFactory.unwrap(SessionFactory.class).getCurrentSession();}
 
     private SOService soService;
 
@@ -165,7 +169,8 @@ public class DefaultServiceLcmService implements ServiceLcmService {
 
     @Override
     public void saveOrUpdateServiceBean(ServiceBean serviceBean) {
-        try (Session session = getSession()) {
+        Session session = getSession();
+        try  {
             if (null == serviceBean) {
                 logger.error("DefaultServiceLcmService saveOrUpdateServiceBean serviceBean is null!");
             }
@@ -182,15 +187,14 @@ public class DefaultServiceLcmService implements ServiceLcmService {
 
     @Override
     public void updateServiceInstanceStatusById(String status, String serviceInstanceId) {
-        try (Session session = getSession()) {
-
+        Session session = getSession();
+        try  {
             String string = "update ServiceBean set status=:status where 1=1 and serviceInstanceId=:serviceInstanceId";
             Query q = session.createQuery(string);
             q.setString("status", status);
             q.setString("serviceInstanceId", serviceInstanceId);
             q.executeUpdate();
             session.flush();
-
         } catch (Exception e) {
             logger.error(
                     "exception occurred while performing DefaultServiceLcmService updateServiceInstanceStatusById.Detail."
@@ -201,7 +205,8 @@ public class DefaultServiceLcmService implements ServiceLcmService {
     @Override
     public ServiceBean getServiceBeanByServiceInStanceId(String serviceInstanceId) {
         ServiceBean serviceBean = null;
-        try (Session session = getSession()) {
+        Session session = getSession();
+        try  {
 
             String string = "from ServiceBean  where 1=1 and serviceInstanceId=:serviceInstanceId";
             Query q = session.createQuery(string);
@@ -224,7 +229,8 @@ public class DefaultServiceLcmService implements ServiceLcmService {
     @Override
     public List<String> getServiceInstanceIdByParentId(String parentServiceInstanceId) {
         List<String> list = new ArrayList<>();
-        try (Session session = getSession()) {
+        Session session = getSession();
+        try  {
 
             String string = "from ServiceBean  where 1=1 and parentServiceInstanceId=:parentServiceInstanceId";
             Query q = session.createQuery(string);
@@ -243,7 +249,8 @@ public class DefaultServiceLcmService implements ServiceLcmService {
 
     @Override
     public void saveOrUpdateServiceInstanceOperation(ServiceInstanceOperations serviceOperation) {
-        try (Session session = getSession()) {
+        Session session = getSession();
+        try  {
             if (null == serviceOperation) {
                 logger.error("DefaultServiceLcmService saveOrUpdateServiceBean serviceOperation is null!");
             }
@@ -263,7 +270,8 @@ public class DefaultServiceLcmService implements ServiceLcmService {
     public void updateServiceInstanceOperation(String serviceInstanceId, String operationType, String progress,
             String operationResult) {
         List<ServiceInstanceOperations> list = new ArrayList<>();
-        try (Session session = getSession()) {
+        Session session = getSession();
+        try {
             String hql =
                     "select a.* from service_instance_operations a where service_instance_id =:serviceId and operation_type =:operationType and start_time = (select max(start_time) from service_instance_operations where service_instance_id=:serviceInstanceId )";
             Query q = session.createSQLQuery(hql).addEntity(ServiceInstanceOperations.class);
@@ -291,7 +299,8 @@ public class DefaultServiceLcmService implements ServiceLcmService {
     public ServiceInstanceOperations getServiceInstanceOperationById(String serviceId) {
         ServiceInstanceOperations serviceOperation = null;
         List<ServiceInstanceOperations> list = new ArrayList<>();
-        try (Session session = getSession()) {
+        Session session = getSession();
+        try  {
             String hql =
                     "select a.* from service_instance_operations a where service_instance_id =:serviceId and start_time = (select max(start_time) from service_instance_operations where service_instance_id=:serviceInstanceId)";
             Query q = session.createSQLQuery(hql).addEntity(ServiceInstanceOperations.class);
@@ -304,7 +313,6 @@ public class DefaultServiceLcmService implements ServiceLcmService {
             } else {
                 serviceOperation = new ServiceInstanceOperations();
             }
-
             session.flush();
 
         } catch (Exception e) {
@@ -320,7 +328,8 @@ public class DefaultServiceLcmService implements ServiceLcmService {
         @Override
        public List<ServiceBean> getAllServiceBean() {
         List<ServiceBean> list = new ArrayList<ServiceBean>();
-        try (Session session = getSession()) {
+        Session session = getSession();
+        try  {
 
             String string = "from ServiceBean";
             Query q = session.createQuery(string);
index 830b24a..1e0b4ce 100644 (file)
@@ -203,6 +203,7 @@ public class TaskMgtServiceImpl implements TaskMgtService {
                 taskMgtServiceConvert.convertTaskAuditToSoTask(soTaskInfo, slicingTaskAuditInfo);
 
                 String jsonstr = JSON.toJSONString(soTaskInfo);
+                logger.info("updateTaskAuditInfo: the requestBody body is:{}", jsonstr);
                 RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonstr);
                 Response<ResponseBody> updateResponse = soSliceService
                     .updateService(slicingTaskAuditInfo.getTaskId(), requestBody).execute();
index 5a58008..732122a 100644 (file)
@@ -27,7 +27,13 @@ spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL9Dialect
 spring.database.driver.classname=org.postgresql.Driver
 spring.jpa.show-sql=false
 spring.jpa.properties.hibernate.format_sql=false
+spring.jpa.properties.hibernate.show-sql=false
 spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
+spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false
+spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
+spring.jpa.properties.hibernate.cache.use_second_level_cache=false
+spring.jpa.properties.hibernate.cache.use_query_cache=false
+#spring.jpa.properties.hibernate.allow_update_outside_transaction=true
 
 ## Basic Authentication Properties
 # security.user.name=usecase