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啦。
java

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>
相關文章
相關標籤/搜索