调用ejb时,如果客户端和ejb不在同一个jvm,就要设置InitialContext,不同的应用服务器InitialContext写法也不同.
Context.INITIAL_CONTEXT_FACTORY:指定到目录服务的连接工厂
Context.PROVIDER_URL:目录服务提供者URL
//jboss:
Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"
Context.URL_PKG_PREFIXES, "org.jboss.naming"
Context.PROVIDER_URL, "localhost:1099"
//weblogic:
Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
Context.PROVIDER_URL, "t3://localhost:7001"
//apusic(金蝶):
Context.INITIAL_CONTEXT_FACTORY, "com.apusic.jndi.InitialContextFactory"
Context.PROVIDER_URL, "rmi://localhost:6888"
//WebSphere:
Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"
Context.PROVIDER_URL, "iiop://localhost:900"
//J2EE SDK(J2EE RI):
Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory"
Context.PROVIDER_URL, "iiop://127.0.0.1:1050"
//SilverStream:
Context.INITIAL_CONTEXT_FACTORY, "com.sssw.rt.jndi.AgInitCtxFactory"
Context.PROVIDER_URL, "sssw://localhost:80"
//OC4J:
Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory"
Context.PROVIDER_URL, "ormi://127.0.0.1/"
//WAS5:
Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"
Context.PROVIDER_URL, "iiop://localhost:2809"
Borland Enterprise Server JNDI用法
Properties props=new Properties();
props.put(Context.PROVIDER_URL,"corbaloc::173.6.7.143:14500/NameService");
props.put("java.naming.factory.initial","com.inprise.j2ee.jndi.CtxFactory");
Context context = new InitialContext(props);
// Context context = new InitialContext();
Object ref = context.lookup("com/borland/examples/j2ee/hello/Hello");
HelloWorldHome home = (HelloWorldHome) javax.rmi.PortableRemoteObject.narrow(ref, HelloWorldHome.class);
hello = home.create();
常用JNDI服务提供者连接工厂:
Filesystem: Com.sun.jndi.fscontext.FSContextFactory或者com.sun.jndi.fscontext.RefFSContextFactory
LDAPv3: Com.sun.jndi.ldap.LdapCtxFactory
NDS: com.novell.naming.service.nds.NdsInitialContextFactory
NIS: com.sun.jndi.nis.NISCtxFactory
RMI registry: com.sun.jndi.rmi.registry.RegistryContextFactory
IBM LDAP服务提供者: com.ibm.jndi.LDAPCtxFactory
BEA 名字服务提供者: weblogic.jndi.WLInitialContextFactory
JBOSS名字服务提供者: org.jnp.interfaces.NamingContextFactory
分享到:
相关推荐
2. **发布EJB3**:当EJB3应用部署到应用服务器时,服务器会自动将其注册到JNDI上下文中,使得它们可以通过JNDI查找服务找到。 3. **查找EJB3**:客户端代码使用Java的`InitialContext`类来初始化JNDI上下文,并通过...
总的来说,JNDI自动配置工具是Java开发者在部署和管理企业级应用时的重要辅助,它简化了资源管理,提升了开发和运维的便捷性。对于想要深入了解和使用这类工具的人员来说,掌握JNDI的基本概念和相关工具的用法是必不...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的一组API。...对于那些处理复杂企业级应用,尤其是需要频繁交互各种服务的开发者来说,理解并熟练使用JNDI是非常有价值的。
1. **创建JNDI上下文**:在服务器端,使用`InitialContext`创建JNDI上下文并绑定远程对象。 2. **查找远程对象**:在客户端,同样通过`InitialContext`查找JNDI树中的远程对象。 3. **调用远程方法**:找到远程对象...
Java JNDI(Java Naming and Directory Interface)是Java平台中用于访问命名和...在实际项目中,这通常涉及配置服务器以提供JNDI服务,编写代码来查找和使用这些服务,并确保所有必要的驱动库都已包含在运行时环境中。
在IT行业中,WebSphere是一款由IBM开发的企业级应用服务器,广泛用于部署和管理Java应用程序,尤其是基于JNDI(Java Naming and Directory Interface)的应用。JNDI是Java平台的一个核心API,它为Java应用程序提供了...
在开发过程中,尤其是在非服务器环境下的独立应用程序中使用JNDI时,开发者经常会遇到`NoInitialContextException`异常。这是因为初始化上下文时缺少必要的配置信息。通常情况下,服务器环境会在启动时自动设置这些...
JNDI不仅限于文件系统,它也可以是其他类型的服务器,例如LDAP服务器,应用服务器如Tomcat、JBoss等通常都提供了对JNDI的支持。在给定的例子中,我们将看到如何使用JNDI来绑定和查找Oracle数据源。 1. **绑定数据源...
在Java世界中,JNDI(Java Naming and Directory Interface)是一种标准接口,它允许应用程序查找和绑定各种命名和目录服务。这个技术的核心理念是提供一个统一的接口来访问不同的资源,比如数据库连接、EJB...
JNDI(Java Naming and Directory Interface)是Java平台中用于访问命名和目录服务的API,它为各种服务提供了一个统一的接口。在Java应用程序中,JNDI主要用来查找和绑定资源,例如数据库连接池、邮件服务器配置等。...
JNDI允许Java应用程序通过名字来查找和绑定各种类型的网络资源,如数据源、邮件服务器、EJB等。JNDI并不是一个具体的目录服务实现,而是一个服务提供商接口(SPI),它允许开发者集成各种命名和目录服务,如LDAP(轻...
标题"jndi用到的所有jar"暗示了这是一个包含与JNDI相关的库文件的压缩包,这些库文件通常是在部署和运行需要用到JNDI功能的应用时所需的。JNDI在WebSphere这样的企业级应用服务器中扮演着重要角色,因为这些服务器...
在Java世界中,JNDI(Java Naming and Directory Interface)是一种标准API,它允许应用程序查找和操作各种命名和目录服务,比如LDAP、DNS或者EJB等。本示例将聚焦于如何利用JNDI来调用CS(Client-Server)架构中的...
在部署该应用时,管理员可以在Tomcat的配置文件中设置相应的JNDI条目: ```xml type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydb" username=...
通过JNDI,可以将数据源注册到JNDI服务器,应用只需通过JNDI查找即可获取数据源,提高了资源利用率和系统性能。 3. **JNDI的编码实现**: 在Java中,JNDI操作主要涉及`javax.naming`和`javax.naming.directory`包...
Java Naming and Directory Interface (JNDI) 是Java平台中...总之,JNDI及其依赖的JAR包是Java开发中不可或缺的部分,尤其是在构建分布式和企业级应用时,理解和掌握JNDI的使用能极大地提高应用的可扩展性和灵活性。
在Java应用服务器中,JNDI通常被用来查找和绑定数据源(DataSource),这些数据源可以是预配置好的数据库连接池,使得多个应用能够共享同一个数据库连接,提高系统性能和资源利用率。 1. **配置数据源**: 在Java...
JNDI的出现使得应用可以与各种不同的命名和目录服务进行交互,如LDAP(轻量级目录访问协议)、DNS(域名系统)或者简单的文件系统。 ### 1. JNDI的基本概念 - **Naming Service**:命名服务,它允许将名字映射到...
**定义JNDI服务**涉及服务类名、服务器的DNS主机名、端口号等参数,具体配置方式多样,包括修改Java运行时的属性文件、提供应用程序资源文件、通过命令行参数或applet参数传递等。 **JNDI对象绑定**是将Java对象与...