java - Weblogic中通过注解查找

标签 java annotations ejb-3.0 weblogic weblogic11g

我使用的是EJB3.0,Weblogic 11g

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

我声明的接口(interface):

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

 }

这是实现接口(interface)的类:

@Stateless
@Local{ OperatorBlockBeanLocal.class })


@JNDIName(value = "OperatorBlockBean")


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

这是试图查找我之前贴标的 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。有人有什么想法吗?

谢谢, 射线。

最佳答案

尝试使用

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

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

@EJB OperatorBlockBeanLocal operatorBlockBean;

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

关于java - Weblogic中通过注解查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583585/

相关文章:

java - 读取套接字输入流而没有传输结束字符?

java - 在第一个计划中禁用 Quartz 启动

jsf-2 - EJB 方法不是从构造函数调用

python - 函数注释

java - 如何使用 EJB 3.1 在我的测试中注入(inject) PesistenceContext?

java - 如何将 JSON 数组从 AngularJS Controller 传递到 Spring Controller ?

java - NotSerializableException,不可预测?

java - 如何创建仅在本地主机上服务的 Java Socket 对象?

Symfony 2/Sylius - bundle 加载到 AppKernel 但无法加载资源

python - python装饰器的奇怪语法规范