8.7.2及之后版本开始区分运行环境(Java/Spring/Solon/Vertx)
最后更新:2024-09-06 05:30:01
|
状态:未完成
8.7.2及之前的版本默认基于spring
8.7.2及之后的版本需要区分运行环境,目前支持:
如果是纯java环境,需要调用一下 DefaultEnvironmentWorker.start();这个方法用来加载配置文件和bean,类似于SpringApplication.run()
Solon环境
因为原来的事务处理基于spring 所以8.7.2中的事务管理修改成了
通过TransactionProxy.start(数据源key) 或servcice.start()启动
并通过Transactionproxy.commit(TransactionState)或service.commit(TransactionState)提交或回滚
8.7.2及之后的版本需要区分运行环境,目前支持:
- Java(默认支持)
- Spring
- Solon
- Vertx
如果是纯java环境,需要调用一下 DefaultEnvironmentWorker.start();这个方法用来加载配置文件和bean,类似于SpringApplication.run()
注意以下依赖不添加也可以正常运行,加上后会替代anyline默认的上下文管理、连接管理、事务管理;会自动调用DefaultEnvironmentWorker.start();
但是不要混用,如不能既添加了anyline-environment-spring-data-jdbc 又调用DefaultEnvironmentWorker.start();因为他们是不同的上下文环境,混用会导致注册bean到第1个上下文,get bean又从另一个上下文中执行。
<dependency> <groupId>org.anyline</groupId> <artifactId>anyline-environment-spring-data-jdbc</artifactId> <!--因为spring环境中用到了spring-jdbc的事务管理器和template所以多了个data-jdbc后缀--> </dependency>
Solon环境
<dependency> <groupId>org.anyline</groupId> <artifactId>anyline-environment-solon</artifactId> </dependency>Vertx环境(主要用到了io.vertx.ext.jdbc.JDBCClient)
<dependency> <groupId>org.anyline</groupId> <artifactId>anyline-environment-vertx-data-jdbc</artifactId> </dependency>数据源注册类统一成了DataSourceHolder.reg(...)不再需要区分是否JDBC类型
因为原来的事务处理基于spring 所以8.7.2中的事务管理修改成了
通过TransactionProxy.start(数据源key) 或servcice.start()启动
并通过Transactionproxy.commit(TransactionState)或service.commit(TransactionState)提交或回滚