【问题标题】:Better Understanding an OC4J Stack Trace更好地理解 OC4J 堆栈跟踪
【发布时间】:2010-09-20 17:04:25
【问题描述】:

我的任务是在 Oracle 应用服务器版本 10.1.3.0 上部署由第三方构建的应用程序。我已经将它部署在 Oracle 应用服务器版本 10.1.2.0 上,没有什么困难。我收到以下错误:

javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: 
No such domain/application: "etrace"; nested exception is: 
        javax.naming.AuthenticationException: No such domain/application: "etrace" 
        [Root exception is javax.naming.AuthenticationException: No such domain/application: "etrace"]
        at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:64)
        at javax.naming.InitialContext.lookup(InitialContext.java:351)

在此之前,应用程序代码会实例化和初始化 InitialContext 对象并执行查找方法调用。它传递的值只是一个字符串,其值为所请求的类的完全限定名称 (com.ntc.tracing.app.security.EtraceAuthenticatorService)。查看 InitialContext 对象,我知道它在环境哈希表中设置了以下参数:

java.naming.factory.initial: com.evermind.server.rmi.RMIInitialContextFactory
java.naming.provider.url: ormi://ntcdevr310g22:12401/etrace
java.naming.factory.url.pkgs: oracle.oc4j.naming.url
java.naming.security.principal: admin
java.naming.security.credentials: admin1

提供者 url、主体和凭据由我设置(通过命令行)。

我对错误的含义感到困惑。如果我给它一个“坏”的提供者 url 或没有主体并通过,我会得到一个不同的错误 (NullPointerException)。这告诉我它正在访问命名提供程序,但并不是说它找不到类。

任何建议将不胜感激。现在我被难住了。

【问题讨论】:

    标签: java oracle jakarta-ee oc4j


    【解决方案1】:

    冒着陈述一个已知事实的风险(但很可能被忽视了):部署到 OC4J 实例中的 etrace ear 应用程序必须明确授予 java.naming.security.principal 密钥中的用户名访问其JNDI 树通过其orion-application.xml 描述符中的<namespace-access> 元素。当我们从 WebSphere 迁移应用程序时,我们花了一些时间才弄清楚这一点。

    【讨论】:

      【解决方案2】:

      我以前见过这样的 JDNI 问题,不管你信不信,问题是 ClassLoader 在多个 JAR 文件中看到其所需的类。它可以加载类信息,但是在实际实例化对象时,VM 因一个不太有用的 JNDI 错误而呱呱坠地并死掉。

      确保您没有导出两个相同的罐子。您可能可以在 OC4J 的企业管理器中检查这一点。

      祝你好运!

      【讨论】:

        【解决方案3】:

        也许尝试指定应用程序部署的 oc4j 实例?

        请参阅http://download.oracle.com/docs/cd/B31017_01/web.1013/b28958/rmi.htm#i1084816 了解 ormi URL 可以采用的所有选项。看起来你没有指定它所期望的东西。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-29
          • 1970-01-01
          • 1970-01-01
          • 2021-08-21
          • 1970-01-01
          • 2011-06-23
          相关资源
          最近更新 更多