/**
* Nov 14, 2011 3:52:13 PM
*/
package com.cwa.gamecore.persistence;
import com.alibaba.cobar.client.CobarSqlMapClientDaoSupport;
import com.alibaba.cobar.client.transaction.MultipleDataSourcesTransactionManager;
import com.cwa.gamecore.context.AppContext;
import java.util.Comparator;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.ibatis.SqlMapClientTemplate;
/**
* @author Landu
* @descirption db处理context
*/
public class DbApplicationContext {
private static DbApplicationContext instance = new DbApplicationContext();
/** spring的上下文*/
private ApplicationContext applicationContext;
/** 非批量操作的sql模版处理bean*/
private SqlMapClientTemplate sqlMapClientTemplate;
/** 批量执行处理的dao*/
private CobarSqlMapClientDaoSupport batchExecuteDao;
/** 排序时的比较类*/
Comparator comparator;
/** 事务处理器:尽量不要用事务*/
private MultipleDataSourcesTransactionManager transactionProcessor;
private DbApplicationContext() {
applicationContext =AppContext.getInstance().getApplicationContext();
//setSqlMapClientTemplate((SqlMapClientTemplate) applicationContext.getBean("sqlMapClientTemplate"));
batchExecuteDao = new CobarSqlMapClientDaoSupport();
//comparator=(Comparator)applicationContext.getBean("comparator");
//transactionProcessor=(MultipleDataSourcesTransactionManager) (applicationContext.getBean("transactionManager"));
}
public static DbApplicationContext getInstantce() {
return instance;
}
public void setApplicationContext(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
}
public ApplicationContext getApplicationContext() {
return applicationContext;
}
public void setSqlMapClientTemplate(SqlMapClientTemplate sqlMapClientTemplate) {
this.sqlMapClientTemplate = sqlMapClientTemplate;
}
public SqlMapClientTemplate getSqlMapClientTemplate() {
return sqlMapClientTemplate;
}
public CobarSqlMapClientDaoSupport getBatchExecuteDao() {
return this.batchExecuteDao;
}
public void setBatchExecuteDao(CobarSqlMapClientDaoSupport batchExecuteDao) {
this.batchExecuteDao = batchExecuteDao;
}
public Comparator getComparator() {
return this.comparator;
}
public void setComparator(Comparator comparator) {
this.comparator = comparator;
}
public static DbApplicationContext getInstance() {
return instance;
}
public static void setInstance(DbApplicationContext instance) {
DbApplicationContext.instance = instance;
}
public MultipleDataSourcesTransactionManager getTransactionProcessor() {
return this.transactionProcessor;
}
public void setTransactionProcessor(MultipleDataSourcesTransactionManager transactionProcessor) {
this.transactionProcessor = transactionProcessor;
}
}