本文整理汇总了Java中org.hibernate.Session.isOpen方法的典型用法代码示例。如果您正苦于以下问题:Java Session.isOpen方法的具体用法?Java Session.isOpen怎么用?Java Session.isOpen使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.hibernate.Session
的用法示例。
在下文中一共展示了Session.isOpen方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: updateAppHistory4indeToIndexed
import org.hibernate.Session; //导入方法依赖的package包/类
/**
* 更新 状态到数据库,仅针对 appStatus 为 1(add) 2(update) 更新索引 ,
*/
@Override
public int updateAppHistory4indeToIndexed(List<Integer> appIds) {
String hql = "update AppHistory4Index set indexStatus=1,lastIndexTime=:lastIndexTime where (appStatus=1 or appStatus=2) and appId in (:appIds)";
Session session = null;
try {
session = this.sessions.openSession();
Query query = session.createQuery(hql);
query.setParameterList("appIds", appIds);
query.setTimestamp("lastIndexTime", new Date());
return query.executeUpdate();
} catch (Exception e) {
logger.error("error:", e);
return 0;
} finally {
if (session != null && session.isOpen()) {
session.flush();
session.clear();
session.close();
}
}
}
示例2: getApps
import org.hibernate.Session; //导入方法依赖的package包/类
@Override
public List<AppHistory4Index> getApps(int currentPage, int pageSize) {
String hql = "from AppHistory4Index appIdx where appIdx.indexStatus<>1";
Session session = null;
try {
session = this.sessions.openSession();
Query q = session.createQuery(hql);
q.setFirstResult(HibernateHelper.firstResult(currentPage, pageSize));
q.setMaxResults(pageSize);
return HibernateHelper.list(q);
} catch (Exception e) {
logger.error("error:", e);
return null;
} finally {
if (session != null && session.isOpen()) {
session.clear();
session.close();
}
}
}
示例3: delAppHistory4index
import org.hibernate.Session; //导入方法依赖的package包/类
@Override
public int delAppHistory4index(List<Integer> appIds) {
// String hql =
// "delete AppHistory4Index where appStatus=3 and indexStatus=-1 and appId in (:appIds)";
// 删除前一天生成索引的数据,避免数据过多
String hql = "delete AppHistory4Index where (indexStatus=-1 and appId in (:appIds) ) or lastIndexTime<:lastIndexTime";
Session session = null;
try {
session = this.sessions.openSession();
Query query = session.createQuery(hql);
query.setParameterList("appIds", appIds);
query.setTimestamp("lastIndexTime", DateUtils.addDays(new Date(), -1));// 删除前一天索引后的数据
return query.executeUpdate();
} catch (Exception e) {
logger.error("error:", e);
return 0;
} finally {
if (session != null && session.isOpen()) {
session.flush();
session.clear();
session.close();
}
}
}
示例4: updateAppStatus2Del
import org.hibernate.Session; //导入方法依赖的package包/类
/**
* 设置appStatus 状态 为可删除 状态 3,索引状态 indexStatus为 -1
*/
@Override
public int updateAppStatus2Del(List<Integer> ids) {
Session session = null;
try {
session = this.sessions.openSession();
String hql = "update AppHistory4Index set appStatus=3,indexStatus=-1,lastOpTime=:lastOpTime where appId in (:appIds)";
Query query = session.createQuery(hql);
query.setParameterList("appIds", ids);
query.setTimestamp("lastOpTime", new Date());
return query.executeUpdate();
} catch (Exception e) {
logger.error("error:", e);
return 0;
} finally {
if (session != null && session.isOpen()) {
session.flush();
session.clear();
session.close();
}
}
}
示例5: getSession
import org.hibernate.Session; //导入方法依赖的package包/类
/**
*
* @return
*/
public static Session getSession(){
Session session = (Session) DAOHibernateUtil.session.get();
if(session == null || !session.isOpen()){
session = sessionFactory.openSession();
DAOHibernateUtil.session.set(session);
}
return session;
}
示例6: getSession
import org.hibernate.Session; //导入方法依赖的package包/类
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}
return session;
}
示例7: getValidatedSession
import org.hibernate.Session; //导入方法依赖的package包/类
public Session getValidatedSession(Object key) {
Session session = this.sessionMap.get(key);
// Check for dangling Session that's around but already closed.
// Effectively an assertion: that should never happen in practice.
// We'll seamlessly remove the Session here, to not let it cause
// any side effects.
if (session != null && !session.isOpen()) {
this.sessionMap.remove(key);
session = null;
}
return session;
}
示例8: closeSession
import org.hibernate.Session; //导入方法依赖的package包/类
public static void closeSession() {
Session session = HibernateSessionManager.getSessionFactory().getCurrentSession();
if (session.isOpen()) {
// log.debug("Closing session transaction "+session.getTransaction());
session.close();
}
}
示例9: getSession
import org.hibernate.Session; //导入方法依赖的package包/类
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}
return session;
}
示例10: closeSession
import org.hibernate.Session; //导入方法依赖的package包/类
public static void closeSession() {
Session session = null;
if (Config.isSignalDatabase) {
session = threadLocal.get();
}else {
session = getSessionMap().get(getCurrentDatabase());
}
if(session != null && session.isOpen()){
session.close();
}
threadLocal.remove();
closeSession.remove();
}
示例11: release
import org.hibernate.Session; //导入方法依赖的package包/类
public static void release(){
closeSession();
for (Entry<String, Session> e:getSessionMap().entrySet()) {
Session value = e.getValue();
if (value!= null&&value.isOpen()) {
value.close();
}
}
currentDatabase.remove();
sessionStory.remove();
}
示例12: clean
import org.hibernate.Session; //导入方法依赖的package包/类
public static void clean(){
if (null!=hibernateSessionMapThreadLocal.get()){
for(Session session:hibernateSessionMapThreadLocal.get().values()){
if(session.isOpen()){
session.flush();
session.close();
}
}
}
hibernateSessionMapThreadLocal.remove();
responseThreadLocal.remove();
requestThreadLocal.remove();
currentDataSourceNameThreadLocal.remove();
}
示例13: clean
import org.hibernate.Session; //导入方法依赖的package包/类
private void clean(){
Map<String,Session> sessionMap=ContextHolder.getHibernateSessionMap();
if(sessionMap==null){
return;
}
for(Session session:sessionMap.values()){
if(session!=null && session.isOpen()){
session.flush();
session.close();
session=null;
}
}
sessionMap.clear();
}
示例14: clean
import org.hibernate.Session; //导入方法依赖的package包/类
public static void clean(){
for(Session session:hibernateSessionMapThreadLocal.get().values()){
if(session.isOpen()){
session.flush();
session.close();
}
}
hibernateSessionMapThreadLocal.remove();
responseThreadLocal.remove();
requestThreadLocal.remove();
currentDataSourceNameThreadLocal.remove();
}
示例15: importIncrement
import org.hibernate.Session; //导入方法依赖的package包/类
@Override
public void importIncrement() {
logger.info("{}. ImportIncrement begins...", this.getMarketName());
Session session = null;
Transaction tx = null;
boolean successed = false;
Date now = new Date();
do {
session = sessions.openSession();
session.setDefaultReadOnly(false);
try {
Market market = null;
try {
market = getMarket(session);
} finally {
session.close();
}
int currentPage = 0, totalPage = 0;
oneIncrement: do {
PaginationMarketApp increment = getMarketAppForIncrement(market);
if (increment != null) {
currentPage = increment.getCurrentPage();
totalPage = increment.getTotalPages();
List<MarketApp> marketApps = increment.getData();
List<MarketApp> offMarketApps = new ArrayList<MarketApp>();
if (marketApps != null && !marketApps.isEmpty()) {
// open again
if (!session.isOpen()) {
session = sessions.openSession();
}
tx = session.beginTransaction();
savePaginationMarketApp(session, market, marketApps, offMarketApps);
market.setIncrementLastReqCurrentPage(currentPage);
market.setIncrementTotalPages(totalPage);
session.merge(market);
tx.commit();
tx = null;
session.close();
deleteMarketAppsTransaction(offMarketApps);
logger.info(
"{}. Increment totalPage: {}\t currentPage: {}\t size: {}\t offMarketApps size: {}",
this.getMarketName(), totalPage, currentPage, marketApps.size(),
offMarketApps.size());
marketApps.clear();
offMarketApps.clear();
}
if (currentPage >= totalPage) {
successed = true;
}
} else {
successed = false;
break oneIncrement;
}
} while (totalPage > 0 && currentPage < totalPage);
if (successed) {
resetMarketForIncrement(now);
} else {
sleepForTry();
}
} catch (Exception e) {
successed = false;
if (tx != null) {
tx.rollback();
}
logger.error("Exception", e);
sleepForTry();
} finally {
if (session.isOpen()) {
session.close();
}
}
} while (!successed);
logger.info("{}. ImportIncrement done!", this.getMarketName());
}