Spring Boot和条件式排除自动配置的类?

时间:2018-10-24 22:27:41

标签: spring spring-boot cassandra spring-data-cassandra

我有一个使用cassandra的应用程序。我需要对其进行更新,并添加一个允许cassandra或其他数据源(例如json文件)的DAO。这将使客户根据应用程序的复杂性和数量来选择。小型应用程序可能适合json文件,并会减少设置。而大容量应用程序将需要casssandra。

我的应用程序是spring boot应用程序,它使用spring-data-cassandra maven依赖性,并且我扩展AbstractCassandraConfiguration来配置cassandra连接。所以我不确定如何让我的应用程序不需要cassandra数据库连接。如果应用程序启动且没有有效的连接,它将关闭。如果配置值表明我们正在使用json文件,我不确定如何跳过cassandra的自动配置。

我认为我可以使用基于非弹簧的cassandra连接进行重写,但是如果配置设置为jsonfile,我宁愿不必重写并仅禁用cassandra内容。我想要一个datasource=cassandradatasource=jsonfile之类的应用程序属性。然后让DAO具有Cassandra逻辑或cassandra逻辑的基础。如果我只有有效的cassandra连接以使cassandra autonfiguration开心,但没有有效的cassandra连接,则应用失败,我可以使jsonfile配置工作,并且我不确定如何在需要时使cassandra的东西工作当我不这样做的时候就不要。而且只有切换是配置值。

0 个答案:

没有答案