通过Weblogic中的Annotation进行查找

时间:2011-04-07 15:27:09

标签: java annotations ejb-3.0 weblogic weblogic11g

我正在使用EJB3.0,Weblogic 11g

我正在尝试从servlet到Statelessbean进行简单的查找,并在那里运行一个方法。两者都在同一个EAR下。 我设法用Jboss做到了。但是我知道在Weblogic中它有点不同,所以我给我的代码调了一下,这就是我正在做的事情,但仍然没有成功:

我声明的界面:

 @Local
 public interface OperatorBlockBeanLocal
 {
    public void testme();

 }

这是实现接口的类:

@Stateless
@Local{ OperatorBlockBeanLocal.class })


@JNDIName(value = "OperatorBlockBean")


 public class OperatorBlockBean implements OperatorBlockBeanLocal
 {
    public void testme()
 {
    System.out.println("OperatorBlockBean");
 }
 }

这是尝试查找我之前decalred的bean的servlet:

try
    {
        context = new InitialContext();

        operatorBlockBean = (OperatorBlockBeanLocal) context
                .lookup("java:comp/env/OperatorBlockBean");
        operatorBlockBean.testme();
    } catch (NamingException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

当然我得到了NamingException。谁有任何想法?

感谢, 射线。

1 个答案:

答案 0 :(得分:0)

尝试使用

@Stateless(mappedName="OperatorBlockBean")
@Local{ OperatorBlockBeanLocal.class }
public class OperatorBlockBean implements OperatorBlockBeanLocal

您也可以在servlet中使用EJB注入而不进行查找。方法如下:

@EJB OperatorBlockBeanLocal operatorBlockBean;

EJB将被注入,因此您无需进行查找。