【发布时间】:2017-06-21 11:46:08
【问题描述】:
我正在使用 junit 和 OpenEJB 容器测试我的应用程序,以便为我的 bean 提供上下文。它正在从类路径中找到所有 bean 并启动它们。不幸的是,我想从上下文中删除一些 bean,所以我可以用其他实现替换这些 bean,模拟某些功能。
我知道openejb.deployments.classpath.exclude 属性。
我什至尝试按照properties.put("openejb.deployments.classpath.exclude", ".*/CommonCache.*"); 的方式使用它,因为它在this SO question 中被建议。
OpenEJB 看到此属性,但 bean 仍在启动,如下面的日志所示。
Using 'openejb.deployments.classpath.exclude=.*/CommonCacheBean.*'
Auto-deploying ejb CommonCacheBean: EjbDeployment(deployment-id=CommonCacheBean)
Jndi(name="java:global/ejbs/CommonCacheBean!my.package.ICommonCache")
Created Ejb(deployment-id=CommonCacheBean, ejb-name=CommonCacheBean, container=Default Stateless Container)
所以这是我的问题。有没有办法从 OpenEJB 上下文中排除单个 bean?是通过这种配置方式还是通过java代码中的手动操作来实现对我来说并不重要。
【问题讨论】: