使用Micronaut 3.9.4时Microstream数据重启后无法持久化
Micronaut 3.9.4 集成Microstream数据持久化失败问题
使用Micronaut 3.9.4框架时遇到Microstream数据无法持久化的问题:停止并重新运行应用后,加载的是空Map,原有数据未被保留。
项目结构

API模块配置
microstream: rest: enabled: true storage: order: root-class: 'fete.bird.entity.RootContainer' storage-directory: 'api/build/order-storage'
Infrastructure模块代码
@Singleton public class OrderRepository implements IOrderRepository { private final RootProvider<RootContainer> rootProvider; public OrderRepository(RootProvider<RootContainer> rootProvider) { this.rootProvider = rootProvider; } @Override public Order create(Order order) { Map<UUID, Order> root = rootProvider.root().getOrders(); root.put(order.id(), order); return order; } }
Core模块代码
@Introspected public interface IOrderRepository { Order create(Order order); }
Controller模块代码
@Controller("/order") public class OrderController { private final IOrderRepository iOrderRepository; public OrderController(IOrderRepository iOrderRepository) { this.iOrderRepository = iOrderRepository; } @Post public Order post(Order model) { var result =iOrderRepository.create(model); return result; } }
内容的提问来源于stack exchange,提问作者San Jaisy
相关产品推荐
相关产品推荐

