1 5 package org.exoplatform.services.database.impl; 6 7 import java.sql.Connection ; 8 import java.sql.SQLException ; 9 import java.util.Properties ; 10 import javax.sql.DataSource ; 11 import org.exoplatform.container.PortalContainer; 12 import org.exoplatform.services.database.DatabaseService; 13 import net.sf.hibernate.HibernateException; 14 import net.sf.hibernate.connection.ConnectionProvider; 15 16 public class ExoConnectionProvider implements ConnectionProvider { 17 private boolean autocommit_ ; 18 private String datasourceName_ ; 19 20 public ExoConnectionProvider() { 21 autocommit_ = true ; 22 } 23 24 27 public void configure(Properties props) throws HibernateException { 28 datasourceName_ = (String ) props.get("hibernate.datasource.name") ; 29 } 30 31 34 public Connection getConnection() throws SQLException { 35 PortalContainer container = PortalContainer.getInstance(); 36 DatabaseService dbService = 37 (DatabaseService) container.getComponentInstanceOfType(DatabaseService.class); 38 DataSource ds = dbService.getDataSource(datasourceName_) ; 39 Connection conn = ds.getConnection() ; 40 conn.setAutoCommit(autocommit_) ; 41 return conn ; 42 } 43 44 47 public void closeConnection(Connection conn) throws SQLException { 48 conn.close() ; 49 } 50 51 public void close() { 52 } 53 } | Popular Tags |