- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六集成EOS监控框架实现对SpringBean监控能力
扩展EOS6引擎支持Spring开发
Spring框架是目前非常流行的一个开源框架,其提供的IOC和AOP的能力得到了广大开发人员的认可。如果我们的EOS6能够支持对Spring的开发,或许能够吸引更多的开发人员关注我们的产品,提高我们产品在开发人员中的地位。本文就如何扩展EOS6引擎,提供对数据源、事务、DAS、Spring 容器管理、页面流、逻辑流、监控框架的集成做详细的阐述。
一:集成EOS数据源
EOS6中数据源是配置在user-config.xml中,支持C3P0和JNDI两种类型的数据源。在Spring中支持JNDI数据源、数据源连接池、JDBC驱动的连接。可以在Spring中直接使用EOS6提供的连接。可见,对数据源的集成应该非常的简单,而且非常的易用。
1、解决方案
为了在Spring中使用EOS6中定义的数据源,可以继承Spring提供的数据源抽象类:org.springframework.jdbc.datasource.AbstractDataSource,通过ConnectionHelper获取EOS6中提供的连接。示例代码:
public class EOSSpringDataSource extends AbstractDataSource {
private String dataSourceName;
public EOSSpringDataSource (){}
public EOSSpringDataSource (String dataSourceName){
this.dataSourceName = dataSourceName;
}
public String getDataSourceName() {
return dataSourceName;
}
public void setDataSourceName(String dataSourceName) {
this.dataSourceName = dataSourceName;
}
public Connection getConnection() throws SQLException {
return ConnectionHelper.getConnection(dataSourceName);
}
public Connection getConnection(String username, String password)
throws SQLException {
return ConnectionHelper.getConnection(dataSourceName);
}
}
2、数据源Spring配置文件
在Spring配置文件中,只需要指定当前数据源的名称即可。该数据源的名称是在user-config.xml中配置的数据源的名称。
参加下面的配置文件示例代码:
bean id=dataSource class=com.primeton.spring. EOSSpringDataSource
property name=dataSourceName
valuedefault/value
/property
/bean
二:集成EOS事务
我们知道,EOS提供的事务仅仅支持编程方式的事务,也就是如果开发人员想使用我们的事务,必须通过编程的方式直接调用EOS6提供的API来完成,无法给用户更多的选择。EOS的事务通过对Spring的封装,完成了对客户屏蔽事务管理器的功能,简化了开发人员的操作。
现在,为了使EOS中支持使用Spring,能否将EOS提供的事务管理功能,直接供Spring使用,通过配置文件的方式,直接声明哪?
解决方案
Spring提供了org.springframework.transaction.PlatformTransactionManager事务管理接口,通过实现该接口,使Spring支持EOS提供的事务管理器,可以方便的将EOS的事务与Spring事务进行无缝的集成。在实现类中,需要从EOS 环境中获取,当前的事务管理器。
实现类EOSSpringTransactionManager维护了一个数据源属性、一个EOS的事务管理器,所有的事务操作全部转交给EOS的事务管理器进行执行。
参见下面的示例代码:
public class EOSSpringTransactionManager implements PlatformTransactionManager {
private EOSSpringDataSource dataSource;
private ITransactionManager tr
原创力文档


文档评论(0)