在编写一个简单的Web应用程序POC时,我希望同时受益于Vertx非阻塞,事件驱动的性质和Spring声明式事务管理。
我的应用程序与关系数据库交互,因此我需要管理事务。 使用Spring面向方面的编程可以实现Spring Framework’s declarative transaction management。当然,我想用@Transactional annotation注释我的服务层。到目前为止一切都那么好,但现在Vertx非阻塞性质开始了。我的DAO正在运行一些阻塞调用(数据库查询),我想使用vertx worker verticle运行,这是使用来自工作池的线程执行的(赢了)阻止任何事件循环。
因此,我想象我有两个Vertx Verticle作为spring bean管理。一个运行我的服务层的Verticle,通过vertx event-bus与运行我的DAO阻塞代码的第二个(worker)Verticle进行通信。
我想知道天气弹簧交易应该适用于这种异步流程。这样的工作实现是否有任何示例(假设这是一种有效的做法,是吗?)?
在网上搜索我发现了this和that,但都没有证明使用了Spring交易。
任何想法/想法?