繁体   English   中英

如何在CDI环境中设置spring数据的自定义行为

[英]How to set up custom behavior of spring data on a CDI environment

因此,我有一个在WildFly10上运行的应用程序,该应用程序使用JSF,Spring(DI),JPA,Spring Data。 现在,我们正在尝试将其移至CDI并删除Spring(DI)。 现在,我们将保留Spring Data。

因此,我设置了CDI,并创建了EntityManager生产者。

@Produces
@Dependent
@PersistenceContext
public EntityManager entityManager;

因此,我能够使用CDI和所有注入库。 但是在我的原始环境中,我们有一个自定义的存储库工厂,它在SpringConfiguration中定义如下:

@EnableJpaRepositories(basePackages = {“ com.foo.repository”}, repositoryFactoryBeanClass = CustomJpaRepositoryFactoryBean.class

因此,问题是,如何在CDI环境上定义这个repositoryFactoryBeanClass = CustomJpaRepositoryFactoryBean.class?

当前的实现不允许JpaRepositoryFactoryBean的配置,因为可以从实例化该代码的代码中看到。

所以我想您有以下选择:

  1. 重新实现实例化过程。

  2. 打开功能请求

  3. 执行2.和1.以可重用的方式并将结果作为问题的PR提交。

尝试解决此问题时,我发现未选择自定义impl。 但是,此问题中建议的解决方案对我有所帮助: https : //stackoverflow.com/a/38541669/188624

基本上是使用Java8默认接口方法来提供附加功能。 我必须使用“ CDI.current()。select”方法来获得实体管理器,尽管属性注入当然无法正常工作。

我用Spring Data JPA 2.0.0进行了测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM