⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 confstoreconnectionhib.java

📁 bpel执行引擎用来执行bpel业务流程
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * *    http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied.  See the License for the * specific language governing permissions and limitations * under the License. */package org.apache.ode.store.hib;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.ode.store.ConfStoreConnection;import org.apache.ode.store.DeploymentUnitDAO;import org.apache.ode.store.ProcessConfDAO;import org.hibernate.Criteria;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.Transaction;import javax.xml.namespace.QName;import java.util.Collection;import java.util.Date;/** * Connection to a Hibernate data store. Essentially a thin wrapper around Hibernate's * {@link org.hibernate.Session} interface. * @author mriou <mriou at apache dot org> */public class ConfStoreConnectionHib implements ConfStoreConnection {    private static final Log __log = LogFactory.getLog(ConfStoreConnectionHib.class);    private Session _session;    private Transaction _tx;    static final ThreadLocal<Session> _current = new ThreadLocal<Session>();    public ConfStoreConnectionHib(Session session) {        _session = session;        _current.set(session);    }    public ProcessConfDAO getProcess(QName pid) {        try {            return (ProcessConfDaoImpl) _session.get(ProcessConfDaoImpl.class,pid.toString());        } catch (HibernateException e) {            __log.error("DbError", e);            throw e;        }    }    public DeploymentUnitDAO createDeploymentUnit(String name) {        DeploymentUnitDaoImpl du = new DeploymentUnitDaoImpl();        du.setName(name);        du.setDeployDate(new Date());        _session.save(du);        return du;    }    public DeploymentUnitDAO getDeploymentUnit(String name) {        try {            DeploymentUnitDaoImpl du = (DeploymentUnitDaoImpl) _session.get(DeploymentUnitDaoImpl.class,name);            return du;        } catch (HibernateException e) {            __log.error("DbError", e);            throw e;        }    }    public long getNextVersion() {        VersionTrackerDAOImpl vt = (VersionTrackerDAOImpl)                _session.createQuery("from VersionTrackerDAOImpl v ").uniqueResult();        if (vt == null) return 1;        else return vt.getVersion() + 1;    }    public void setVersion(long version) {        VersionTrackerDAOImpl vt = (VersionTrackerDAOImpl)                _session.createQuery("from VersionTrackerDAOImpl v ").uniqueResult();        if (vt == null) {            vt = new VersionTrackerDAOImpl();            vt.setId(1);        }        vt.setVersion(version);        _session.save(vt);    }    @SuppressWarnings("unchecked")    public Collection<DeploymentUnitDAO> getDeploymentUnits() {        Criteria c = _session.createCriteria(DeploymentUnitDaoImpl.class);        return c.list();    }    public void close() {        _session.close();    }    public void begin() {        _tx=_session.beginTransaction();    }    public void commit() {        _tx.commit();    }    public void rollback() {        _tx.rollback();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -