我在netbeans中有一个Java web服务模块和ejb模块(都是企业应用程序的一部分)。web服务使用@ejb注入使用ejb类。在ejb模块中,我有一个TransactionManager类,它不是企业bean。只是一堂POJO课。我正在尝试使用以下方法注入EntityManager
@PersistanceContext(unitName = "testPU")
EntityManager em;
@Stateless
@Local(IMyService.class)
public class MyService extends MyBase implements IMyService
{
MyComponent component = null;
public void doSomething(X x)
{
component = new MyComponent();
component.doSomething(x);
}
}
public class MyComponent extends MyBase implements IMyComponent
{
TransactionManager tManager = null;
public void doSomething(X x)
{
tManager = new TransactionManager();
tManager.doSomething(x);
}
}
TransactionManager类是我希望为PersistenceContext进行依赖注入的类
public class TransactionManager extends MyBase implements ITransactionManager
{
@PersistenceContext(unitName="TestPU")
EntityManager em;
public void doSomething(X x)
{
em.persist(x);
}
}
POJO不由容器管理。而bean由容器管理&负责注入资源。
您可以尝试JNDI查找来查找容器不负责的非托管自定义类的资源。
问题内容: 使用新的EJB 3.1规范,是否可以将EJB注入pojo?我知道在EJB 3.0中,@ EJB批注可用于注入EJB,但这不适用于简单的pojos。 如果不是,我必须在JNDI中查找bean,因为我知道您不能简单地使用new关键字。 问题答案: 是的,使用JNDI查找。 由于您的POJO是由您创建的(我假设),因此容器不负责注入依赖项。
问题内容: 构造bean之后,我想使用EntityManager从数据库中检索数据。在构造函数中是不可能的,因为EntityManager是在调用构造函数之后注入的。所以我试图用@PostConstruct注释的方法来做。根据API,在完成所有注入后将调用PostConstruct方法。执行查询是可行的,但是它总是返回一个空列表。如果我在其他方法中使用相同的查询,它将返回正确的结果。有人知道,为什
我在QuartzJobs实例上使用EntityManager遇到此问题: Java语言weblogic上的lang.NullPointerException。坚持不懈CICScopedImprovider。weblogic上的getEMForCurrentCIC(CICScopedImprovider.java:35)。坚持不懈事务实体管理器Proxy Impl。weblogic上的getPers
我正在尝试实现EJB命令来通信两个jsf项目。 我创建了一个EAR,其中有我的两个jsf项目+ejb。
问题内容: 我想为Kotlin创建POJO类,因为我们知道www.jsonschema2pojo.org将JSON转换为POJO,因此我们可以将其与gson一起使用。 有人知道如何 快速 为Kotlin创建Gson POJO 吗? 编辑: 我知道它使用Data类,但是有没有最简单的创建方法? 问题答案: 是的,我有解决方案 例如: 使用http://www.jsonschema2pojo.org/
问题内容: 是否可以从EntityManager中获取Hibernate Session对象?我想访问一些hibernate特定的API … 我已经尝试过类似的东西: 但是,一旦我在EJB中调用方法,我就会收到带有NullPointerException的“在EJB上调用期间发生系统异常” 我用玻璃鱼3.0.1 问题答案: Bozho和partenon是正确的,但是: 在JPA 2中,首选机制是e