我已经编写了一个EJB3业务逻辑并部署在GlassFish下。现在,我将通过同一个容器中的客户机,用@EJB注入接口来测试它。
public class EjbTest {
@EJB
private static RepAlertManager rep;
public static void main(String[] args) throws IOException, SQLException {
try
{
DBConnection.setTypeConnetionLocal(true);
List<Long> result = rep.doSomething("ENTRATE");
for(Long temp:result){
System.out.println(temp);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
public interface RepAlertManager {
public List<Long> doSomething(String message) throws SQLException; }
@Stateless public class RepAlertManagerImpl extends DataSource implements RepAlertManager {
public RepAlertManagerImpl() throws IOException {
super();
}
public List<Long> doSomething(String message) throws SQLException {
// some code
} }
数据源bean是一个在构造函数中设置连接并通过get()方法释放的无状态bean
如果您正在使用Java EE6
用JUnit测试EJB,这一条可能会有所帮助
在注入时也不要使用static
。CDI无法注入静态VAR。
问题内容: 使用新的EJB 3.1规范,是否可以将EJB注入pojo?我知道在EJB 3.0中,@ EJB批注可用于注入EJB,但这不适用于简单的pojos。 如果不是,我必须在JNDI中查找bean,因为我知道您不能简单地使用new关键字。 问题答案: 是的,使用JNDI查找。 由于您的POJO是由您创建的(我假设),因此容器不负责注入依赖项。
问题内容: 我已经用spring和spring security开发了一个简化的Web应用程序…现在,我想添加ejb模块来进行数据库访问,我在Internet上查找,但是由于它是我第一次使用EJB,所以我没有找到明确的东西。我想在控制器中使用类似@EJB之类的东西” 以及在有教程或其他帮助的情况下如何在Spring上下文中对其进行配置。很好,谢谢 问题答案: 要将ejb 3 bean注入sprin
我有两个EJB实现相同接口,我有一些限定符: 而且 和我的错误: 原因:org.jboss.weld.exceptions.deploymentexception:Weld-001408:类型IConnectorService的依赖关系不满足,其限定符为@MetrilioConnector在注入点[UnbackedAnnotatedField]@MetrilioConnector@Inject c
我的项目中有无状态实体bean(EJB3.x)和EJBbean(EJB2.x)以及其他类。我想将实体Bean注入EJB Bean。到目前为止,我能够使用JNDI方式(即BeanName#completename)注入它,但我想使用@EJB注入它,就像我们在没有任何JNDI查找的情况下将实体bean注入另一个实体bean一样。这两个bean都是不同模块的一部分,但部署在同一台服务器上。我将weblo
问题内容: 我试图将EJB注入到Spring(3.1.2)服务中(都在不同的 WAR中)两者都非常简单(删除了方法以简化示例): EJB: Service: 事情很简单,但我尝试过: 它没有用。然后我还尝试了: and 但都没有奏效。 我设法使用以下方法注入了EJB: 在我的spring配置和服务中: 但我真的不喜欢这种解决方案。我希望在某些注释中包含我的JNDI路径,例如: 问题答案: 我们找到
有没有办法将@Named bean注入Singleton? 这是需要注入的类 bean用于视图实用程序(由Forge生成) 问题是我需要从@Startup@Singleton访问 但它总是失败,并抱怨说游戏会话不是一个实体 有没有办法将命名的有状态bean注入Singleton?如果没有,有什么解决办法吗? 谢谢