我正在使用JBoss 5 GA,我创建了一个测试Session bean和本地接口。我创建了一个servlet客户端。我试图使用@EJB ..
在servlet中注入接口但是当我调用这个servlet时,我得到的请求资源不可用!!!!当我评论// @ EJB时,页面运行成功,任何帮助请????
Jotnarta
答案 0 :(得分:3)
在你的问题中添加一些代码是有帮助的,至少是EJB中的注释,本地接口(如果你注释它)和servlet ......
然而,根据Chapter 11. Introduction to EJB injection in Servlets的JBoss EJB3 Tutorials,对于包含如下定义的EJB3 SLSB的EJB模块:
@Stateless(name="calculator")
@Remote(CalculatorRemote.class)
@Local(CalculatorLocal.class)
public class CalculatorBean implements CalculatorRemote, CalculatorLocal
{
...
可以通过以下方式将本地接口注入Web模块的Servlet中:
private CalculatorLocal calculator;
/**
* Injecting the EJB
*/
@EJB(name = "calculator")
public void setCalculator(CalculatorLocal calculator)
{
this.calculator = calculator;
}
本教程中有一个重要的注意事项,我在下面粘贴:
注射用于注射 web模块,你的web.xml应该使用 2.5版本的web-app xsd:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">