仅关于CDI bean的问题,而不是EJB。
开发需要从父模块注入bean到子模块的架构是一种好习惯吗?
例如,我有三个模块:
所以客户端依赖于常见而服务器依赖于 common (它们扩展并使用来自common的类)但注射方向相反。所以@Inject注入点存在于 common 模块中,但生成器方法存在于客户端和服务器中。
除了哲学方面,我还有一个真正的问题。我可以进一步将ejb.jar中的bean注入到ear / lib / * .jar中,否则因类路径问题而无法实现?
此致
答案 0 :(得分:0)
您没有提及您的部署设置,所以我只能猜测客户端和服务器是单独打包的,而不是在同一个EAR中?
除非您将公共内容直接复制到您的模块中,或者您的模块扩展了公共类,否则我不明白您对父母和孩子的意思。
拥有循环依赖关系并不是一个好习惯,它会使测试变得困难并使代码紧密耦合。常见的不应该依赖于另一个模块中的bean来运行。
你可以注入模块,但是他们必须在meta-inf中定义自己的beans.xml。