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

ClassNotFoundException:组织。jboss。命名。遥远的客户InitialContextFactory

姜鸿畴
2023-03-14

使用环境:

  • WildFly 9.0.2。期末考试
  • EJB 3.0
  • 蚂蚁
  • 日蚀

测验jsp正在调用测试方法。java类。

测验jsp

<%@page import="com.testmodule.pojo.Test"%>
<%
    try{
        System.out.println(" Going to call getDbConnection method of 'Test' class. This 'Test' class shall be "
            + " part of testclient.jar. testclient.jar shall be deployed as a module --- module add --name=testclient --resources=/Downloads/lib/test/testclient.jar");
        System.out.println(" test.jsp shall be present in test.ear...'jboss-deployment-structure.xml' shall be present in "
            + " in META-INF directory of test.ear with entry as -- <dependencies><module name=\"testclient\" export=\"true\" /> </dependencies>");
        System.out.println(" Dont want to put 'jboss-client.jar' in Test.ear-->Test.war-->WEB-INF/lib , As there are multiple ear's which are accessing Test.java class");

        new Test().getDbConnection();
    } catch(Exception e) {
        e.printStackTrace();
    }
%>

Test.java

package com.testmodule.pojo;

import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;

public class Test { 
    public void getDbConnection(){
        try {
            Properties jndiProps = new Properties();

            jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, 
                "org.jboss.naming.remote.client.InitialContextFactory");
            jndiProps.put(Context.PROVIDER_URL,"remote://29.86.30.73:4447");
            jndiProps.put(Context.SECURITY_PRINCIPAL, "testuser");
            jndiProps.put(Context.SECURITY_CREDENTIALS, "testpassword");
            jndiProps.put("jboss.naming.client.ejb.context", true);

            Context context = new InitialContext(jndiProps);
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

访问测试时发生以下错误。jsp。

10:09:26,536 ERROR [stderr] (default task-1) javax.naming.NamingException: WFLYNAM0027: Failed instantiate InitialContextFactory org.jboss.naming.remote.client.InitialContextFactory from classloader ModuleClassLoader for Module "deployment.test.ear.test.war:main" from Service Module Loader [Root exception is java.lang.ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory from [Module "deployment.test.ear.test.war:main" from Service Module Loader]]
10:09:26,537 ERROR [stderr] (default task-1)    at org.jboss.as.naming.InitialContext.getDefaultInitCtx(InitialContext.java:118)
10:09:26,537 ERROR [stderr] (default task-1)    at org.jboss.as.naming.InitialContext.init(InitialContext.java:99)
10:09:26,537 ERROR [stderr] (default task-1)    at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154)
10:09:26,537 ERROR [stderr] (default task-1)    at org.jboss.as.naming.InitialContext.<init>(InitialContext.java:89)
10:09:26,548 ERROR [stderr] (default task-1) Caused by: java.lang.ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory from [Module "deployment.test.ear.test.war:main" from Service Module Loader]
10:09:26,548 ERROR [stderr] (default task-1)    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
10:09:26,548 ERROR [stderr] (default task-1)    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
10:09:26,549 ERROR [stderr] (default task-1)    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
10:09:26,549 ERROR [stderr] (default task-1)    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)

我不想让jboss-client.jarest.ear

共有1个答案

范承教
2023-03-14

您的JNDI代码用于在尝试加载某些本地数据源时进行远程调用。您可以使用jboss部署结构在jboss客户端模块上添加依赖项。xml文件。

 类似资料:
  • 环境-wildfly-9.0.2。最终版,EJB 3.0 尝试将Test.java类(在wildfly-9.0.2.Final@machine-A部署为模块)连接到EJB时发生以下错误,同时将其部署在机器B(291.861.301.732)的jboss上。 测验testclient中存在java类。罐子 Test.java课 为什么会发生此错误,为了使org.jboss.naming.remote

  • 我得到了这个错误,我已经检查了留档,甚至在留档页面上的基本程序给出了这个错误。 色度驱动器:2.44 组织。openqa。硒。遥远的UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。构建信息:版本:'2.45.0',修订版:'5017cb8e7ca8e37638dc3091b2440b90a1d8686f',时间:'2015-0

  • 我正在通过boto3组织从主AWS帐户获取所有子帐户。代码运行良好。我可以得到子帐户列表。但是如果您再次运行我的AWS Lambda函数,那么它将无法获取子帐户。 获取以下错误: 20到30分钟后,我可以看到我的代码工作了一次又一次地引发上述异常。 我是由AWS网关AWS Lambda运行此代码的。 有什么想法吗? 代码:

  • 我正在为运行在JBoss AS EAP6.2中的EJB编写一个远程客户端。按照“7.5.1节”中的说明。在"JBoss EAP 6.2开发指南"中使用JNDI远程调用会话Bean,如果我使用JNDI名称,我可以访问EJB上的方法

  • 我试图克隆我的设备数据,并将设备数据流传输到另一个完全不同的组织中的IoThub,这里的组织我指的是不同的供应商云。 试用:我尝试将消息从IoThub路由到服务总线主题,然后使用service bus SDK编写一个容器,该容器可以订阅这些主题并将数据推送到不同供应商云中的Azure IoT hub。 问:除了上述单独使用Azure之外,是否还有其他最佳方式将设备流发送到其他供应商Azure Io

  • 我们开发了一个培训应用程序,其中包含一个与EJB通信的独立java客户端。工作设置包括Windows 7上的JBoss AS 7.1和通过/bin/add user创建的应用程序用户。球棒 客户端是这样编码的: 客户端是用jboss客户端启动的。类路径中的jar。 现在,我们尝试改用WildFly 8.1,它已成功部署,但客户端失败 将JNDI查找名称更改为在部署期间打印出来的内容(例如)导致 在