SSH2和wabacus框架共用数据源

一:ssh2集成wabacus,公用一个数据源。
1:创 建一个类MyContext.java,如下

public class MyContext implements ApplicationContextAware {   
  
        private static ApplicationContext context;// 声明一个静态变量保存   
  
        @Override  
        public void setApplicationContext(ApplicationContext context)   
                        throws BeansException {   
                // TODO Auto-generated method stub   
                this.context = context;   
        }   
  
        public static ApplicationContext getContext() {   
                return context;   
        }   
  
} 

2:在applicationContext.xml里面注入该类,
  <bean class="com.util.MyContext"></bean>
   这样就可以在类里面使用applicationContext提供的bean啦。

3:创建SpringDataSource.java,该类为wabacus提供数据源(调用的是applicationContext里面的数据源)如下:
public class SpringDataSource extends AbsDataSource {   
  
        private static Logger logger = Logger.getLogger(SpringDataSource.class);   
        private DataSource ds;   
           
        public SpringDataSource(){   
                this.ds = (DataSource) MyContext.getContext().getBean ("dataSource");    
                System.out.println("########"+ this.ds.toString());   
        }   
  
        @Override  
        public Connection getConnection() {   
                try {   
                        logger.debug("从数据源" + this.getName() + "获取数据库连接");   
                        return this.ds.getConnection();   
                } catch (SQLException e) {   
                        throw new WabacusRuntimeException("获取" + this.getName()   
                                        + "数据源的数据库连接失败", e);   
                }   
        }   
  
        @Override  
        public DataSource getDataSource() {   
                return this.ds;   
        }   
           
}

 

4:在wabacus的配置文件wabacus.cfg.xml 中就可以这样配置来获取数据源啦,如下:

<datasources default="ds_mysql">   
               <datasource name="ds_mysql" type="com.wabacus.SpringDataSource"  
                       dbtype="com.wabacus.config.database.type.MySql">   
                       <property name="driver">driver</property>    
               </datasource>   
       </datasources>

你可能感兴趣的:(java,数据源,wabacus)