今天集成spring与activiti时发现的问题,那是相当的晕。
我先是通过maven集成了spring3.2.x与activiti5.15,然后做了测试流程都正常。这时候我就想把activiti集成进公司的框架中,公司的框架是使用的spring2.5,我和原来一样添加jar包,添加流程引擎的配置,写测试。但是报了一个很奇怪的错误,如下:
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [org.apache.commons.dbcp.BasicDataSource] to required type [javax.sql.DataSource] for property 'userName'; nested exception is java.lang.IllegalArgumentException: Original must not be null
但是,查看源码都知道dbcp.BasicDataSource就是实现了javax.sql.DataSource接口的,这是什么问题?
查到最后,在国外的论坛上才找到原因,“spring推崇的是符合java bean规范的写法,spring2.x对于非标准的getter和setter就会出现这样的问题“,看看SpringProcessEngineConfiguration的setDataSource方法,略别扭。
@Override
public ProcessEngineConfiguration setDataSource(DataSource dataSource) {