Tag: cdi seam3

在注入点使用限定符的类型的不满意依赖(使用带有CDI的@Stateful EJB)

我有以下代码来管理两种存储库。 两个存储库类都inheritance了一个接口,以允许重新初始化其资源。 public interface CachingRepository { public void invalidateCache(); } 全局,应用程序范围的回购: @Named(“globalRepo”) @ApplicationScoped public class GlobalRepository implements CachingRepository { private List categories; … @Override public void invalidateCache() { categories = null; } … } 每个用户,会话范围的回购: @Named(“userRepo”) @SessionScoped //@Stateful // <- NOTE HERE public class UserRepository implements CachingRepository, Serializable { private List files; @Override public void […]

配置能够在Seam 3中@Inject EntityManager

在我的项目中,我使用Seam 3 ,我在使用@Inject注释注入EntityManager时遇到问题。 我很确定有某种配置可以确保EnityManager知道要使用哪个PersistenceUnit 。 例如,使用EJB您可以键入: @PersistenceContext(unitName=”MY_PERSISTENCE_UNIT_NAME”) private EntityManager eManager; 在persistence.xml文件中配置了哪个持久性单元。 这是我的伪配置: org.hibernate.ejb.HibernatePersistence java:jboss/TimeReportDS META-INF/orm.xml …. …. …. 我已经阅读了一些关于Seam 2的文章,但是配置是在components.xml文件中添加的: 在标签内。 Seam 2的下一步是添加: 在persistence.xml … … 但它接缝在Seam 3中没有文件components.xml 。 此外, unitName注释中没有属性unitName来指定持久性单元。 所以请帮我配置我的项目,这样我就可以使用@Inject和EntityManager ,如网上的许多例子所示。 我使用Postgres数据库和JBoss AS 7 。 编辑:添加一个例子。 我不在Entity类中使用EntityManager 。 @Named(“validateReportAction”) @SessionScoped public class ValidateReportAction extends ReportAction implements Serializable { private static final long serialVersionUID […]