当前位置: 首页 > 知识库问答 >
问题:

WebLogic10.3。5来自java主类的EJB3本地seision bean查找

裴鸿熙
2023-03-14

我使用的是WebLogic10.3。会话bean的EJB5和EJB3

但是我不能查找本地无状态会话bean的jndi,即使我可以查找

远程bean成功

我的代码是主类的

    Properties p = new Properties();
    p.put(Context.INITIAL_CONTEXT_FACTORY,
            "weblogic.jndi.WLInitialContextFactory");
    p.put(Context.PROVIDER_URL, "t3://localhost:7001");

    try {

        Context ctx = new InitialContext(p);

        TheBeanRemote bean = (TheBeanRemote) ctx
                .lookup("MrBean#com.bdc.TheBeanRemote");
        System.out.println(bean.sayHello());

        TheLocalLocal bean2 = (TheLocalLocal) ctx.lookup("TheLocalLocal");
        Object obj = ctx.lookup("java:comp/env/ejb/MrBean2");

        System.out.println(bean2.sayHello());

    } catch (Exception e) {
        e.printStackTrace();
    }

远程Bean

导入javax.ejb.远程;

@远程公共接口,它们是远程的{

public String sayHello();

}

本地豆

进口javax.ejb.本地;

@本地(TheLocalLocal.class)公共接口TheLocalLocal{

public String sayHello();

}

共有1个答案

狄法
2023-03-14

如果你是作为“客户端”运行的,这是一个远程调用,如果该应用程序在服务器上运行,这是一个本地调用。一个有效,但另一个无效,这是有道理的。

您正在使用的属性表示远程调用:

Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
        "weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context ctx = new InitialContext(p);

本地电话是:

Context context = new InitialContext();

这里看到一个类似的问题:如何在WebLogic上查找JNDI资源?

 类似资料:
  • 问题内容: 如何在Python中轻松地从本地网络获取IP地址或主机名列表? 最好是多平台的,但是首先需要在Mac OS X上运行,然后才需要其他版本。 编辑: “本地”是指本地网络中的所有 活动 地址,例如。 所以,如果我的电脑的IP地址(本地网络内)是的,我有另外三个连接的电脑,我想它返回的IP地址,,,可能它们的主机名。 问题答案: 如果“本地”是指同一网段,则必须执行以下步骤: 确定您自己的

  • 问题内容: 我已经在机架空间上启动了CentOS服务器并执行了‘d。然后。因此,只是准系统。 我可以通过ssh(22)远程访问其IP地址,所以DNS或其他任何问题(我认为…)都没有问题,但是当我尝试通过浏览器等通过端口80进行连接时,拒绝连接。 但是,从本地主机,我可以使用telnet(80),甚至可以使用lynx并毫无问题地得到服务。telnet从外部(我的房子,我的学校,当地的咖啡店等)在22

  • 因此,我有一个应用程序,我将在其上构建,但我不能让它工作,因为Tomcat不会启动(下面的错误消息)。我已经找到了属性文件,可以在该文件中调整错误消息中列出的值,但是我尝试的方法都无效。 我几乎排除了使用相同端口的另一个程序,并且我还调整了用户值...有没有办法解决连接到本地主机的问题?也许通过命令行? 非常感谢任何帮助!

  • 问题内容: 因为数据量不是我的Web应用程序需要加载的大小,它有时会变得很慢,因此我决定添加一些jQuery ajax函数以根据请求加载某些数据,然后将其保存在缓存中。 我想知道的是如何限制任何来自本地主机/相同服务器/相同ip的请求或仅来自本地/相同服务器/相同ip的请求,这样才能避免从外部对我的应用程序进行任何调用? 这意味着我的返回数据的php函数仅应从本地主机请求返回数据。 我的Web应用

  • Google 用了很多自己实现的技巧 / 工具使 C++ 代码更加健壮, 我们使用 C++ 的方式可能和你在其它地方见到的有所不同. 5.1. 所有权与智能指针 > 总述 动态分配出的对象最好有单一且固定的所有主, 并通过智能指针传递所有权. > 定义 所有权是一种登记/管理动态内存和其它资源的技术. 动态分配对象的所有主是一个对象或函数, 后者负责确保当前者无用时就自动销毁前者. 所有权有时可以

  • 问题内容: 我在SO和不同的博客上都看到了数十个问题,这些问题都用“答案”来讨论-都无济于事。 我的本地机器(Ubuntu 16.04)上有一个React.js应用程序。在本地,我尝试通过运行对其进行测试,然后它将浏览器打开到http:// localhost:3000。 在一页上,我试图访问共享托管服务器上的PHP api。 Chrome和Firefox都说由于服务器没有失败。 确切消息: 但是