`

jndi调用时,各种应用服务器InitialContext的写法

 
阅读更多

提前声明:该文章是我拷贝的,仅仅作为自己的笔记!谢谢前辈!

调用ejb时,如果客户端和ejb不在同一个jvm,就要设置InitialContext,不同的应用服务器InitialContext写法也不同. 
Context.INITIAL_CONTEXT_FACTORY:指定到目录服务的连接工厂 
Context.PROVIDER_URL:目录服务提供者URL 

//jboss: 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"  
Context.URL_PKG_PREFIXES, "org.jboss.naming"  
Context.PROVIDER_URL, "localhost:1099"  

Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory" 
Context.URL_PKG_PREFIXES, "org.jboss.naming" 
Context.PROVIDER_URL, "localhost:1099" 


//weblogic: 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"  
Context.PROVIDER_URL, "t3://localhost:7001"  

Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" 
Context.PROVIDER_URL, "t3://localhost:7001" 


//apusic(金蝶): 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "com.apusic.jndi.InitialContextFactory"  
Context.PROVIDER_URL, "rmi://localhost:6888"  

Context.INITIAL_CONTEXT_FACTORY, "com.apusic.jndi.InitialContextFactory" 
Context.PROVIDER_URL, "rmi://localhost:6888" 


//WebSphere: 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"  
Context.PROVIDER_URL, "iiop://localhost:900"  

Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory" 
Context.PROVIDER_URL, "iiop://localhost:900" 


//J2EE  SDK(J2EE  RI): 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory"  
Context.PROVIDER_URL, "iiop://127.0.0.1:1050"  

Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory" 
Context.PROVIDER_URL, "iiop://127.0.0.1:1050" 


//SilverStream: 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "com.sssw.rt.jndi.AgInitCtxFactory"  
Context.PROVIDER_URL, "sssw://localhost:80"  

Context.INITIAL_CONTEXT_FACTORY, "com.sssw.rt.jndi.AgInitCtxFactory" 
Context.PROVIDER_URL, "sssw://localhost:80" 


//OC4J: 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory"  
Context.PROVIDER_URL, "ormi://127.0.0.1/"  

Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory" 
Context.PROVIDER_URL, "ormi://127.0.0.1/" 


//WAS5: 
Java代码 
Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"  
Context.PROVIDER_URL, "iiop://localhost:2809"  

Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory" 
Context.PROVIDER_URL, "iiop://localhost:2809" 



Borland Enterprise Server JNDI用法 
Java代码 
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();  

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 
http://flytosea.iteye.com/blog/374633

分享到:
评论

相关推荐

    JNDI调用分布式EJB3 通用接口

    2. **发布EJB3**:当EJB3应用部署到应用服务器时,服务器会自动将其注册到JNDI上下文中,使得它们可以通过JNDI查找服务找到。 3. **查找EJB3**:客户端代码使用Java的`InitialContext`类来初始化JNDI上下文,并通过...

    应用服务器JNDI自动配置工具

    总的来说,JNDI自动配置工具是Java开发者在部署和管理企业级应用时的重要辅助,它简化了资源管理,提升了开发和运维的便捷性。对于想要深入了解和使用这类工具的人员来说,掌握JNDI的基本概念和相关工具的用法是必不...

    JNDI简单应用示例

    Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的一组API。...对于那些处理复杂企业级应用,尤其是需要频繁交互各种服务的开发者来说,理解并熟练使用JNDI是非常有价值的。

    三种方式实现java远程调用(rmi),绝对可用

    1. **创建JNDI上下文**:在服务器端,使用`InitialContext`创建JNDI上下文并绑定远程对象。 2. **查找远程对象**:在客户端,同样通过`InitialContext`查找JNDI树中的远程对象。 3. **调用远程方法**:找到远程对象...

    java jndi的使用

    Java JNDI(Java Naming and Directory Interface)是Java平台中用于访问命名和...在实际项目中,这通常涉及配置服务器以提供JNDI服务,编写代码来查找和使用这些服务,并确保所有必要的驱动库都已包含在运行时环境中。

    websphere上发布基于jndi的应用

    在IT行业中,WebSphere是一款由IBM开发的企业级应用服务器,广泛用于部署和管理Java应用程序,尤其是基于JNDI(Java Naming and Directory Interface)的应用。JNDI是Java平台的一个核心API,它为Java应用程序提供了...

    JNDI配置原理详解.doc

    在开发过程中,尤其是在非服务器环境下的独立应用程序中使用JNDI时,开发者经常会遇到`NoInitialContextException`异常。这是因为初始化上下文时缺少必要的配置信息。通常情况下,服务器环境会在启动时自动设置这些...

    用JNDI绑定DataSource

    JNDI不仅限于文件系统,它也可以是其他类型的服务器,例如LDAP服务器,应用服务器如Tomcat、JBoss等通常都提供了对JNDI的支持。在给定的例子中,我们将看到如何使用JNDI来绑定和查找Oracle数据源。 1. **绑定数据源...

    从实例看JNDI设计

    在Java世界中,JNDI(Java Naming and Directory Interface)是一种标准接口,它允许应用程序查找和绑定各种命名和目录服务。这个技术的核心理念是提供一个统一的接口来访问不同的资源,比如数据库连接、EJB...

    jndi配置

    JNDI(Java Naming and Directory Interface)是Java平台中用于访问命名和目录服务的API,它为各种服务提供了一个统一的接口。在Java应用程序中,JNDI主要用来查找和绑定资源,例如数据库连接池、邮件服务器配置等。...

    JNDI (1)

    JNDI允许Java应用程序通过名字来查找和绑定各种类型的网络资源,如数据源、邮件服务器、EJB等。JNDI并不是一个具体的目录服务实现,而是一个服务提供商接口(SPI),它允许开发者集成各种命名和目录服务,如LDAP(轻...

    jndi用到的所有jar

    标题"jndi用到的所有jar"暗示了这是一个包含与JNDI相关的库文件的压缩包,这些库文件通常是在部署和运行需要用到JNDI功能的应用时所需的。JNDI在WebSphere这样的企业级应用服务器中扮演着重要角色,因为这些服务器...

    JNDI代码样例

    在Java世界中,JNDI(Java Naming and Directory Interface)是一种标准API,它允许应用程序查找和操作各种命名和目录服务,比如LDAP、DNS或者EJB等。本示例将聚焦于如何利用JNDI来调用CS(Client-Server)架构中的...

    Tomcat中JNDI原理

    在部署该应用时,管理员可以在Tomcat的配置文件中设置相应的JNDI条目: ```xml type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydb" username=...

    jndi连接池帮助文档

    通过JNDI,可以将数据源注册到JNDI服务器,应用只需通过JNDI查找即可获取数据源,提高了资源利用率和系统性能。 3. **JNDI的编码实现**: 在Java中,JNDI操作主要涉及`javax.naming`和`javax.naming.directory`包...

    jndi所依赖的jar包

    Java Naming and Directory Interface (JNDI) 是Java平台中...总之,JNDI及其依赖的JAR包是Java开发中不可或缺的部分,尤其是在构建分布式和企业级应用时,理解和掌握JNDI的使用能极大地提高应用的可扩展性和灵活性。

    jndi连接数据库配置方法

    在Java应用服务器中,JNDI通常被用来查找和绑定数据源(DataSource),这些数据源可以是预配置好的数据库连接池,使得多个应用能够共享同一个数据库连接,提高系统性能和资源利用率。 1. **配置数据源**: 在Java...

    JNDI使用

    JNDI的出现使得应用可以与各种不同的命名和目录服务进行交互,如LDAP(轻量级目录访问协议)、DNS(域名系统)或者简单的文件系统。 ### 1. JNDI的基本概念 - **Naming Service**:命名服务,它允许将名字映射到...

    JNDI 命名和目录服务

    **定义JNDI服务**涉及服务类名、服务器的DNS主机名、端口号等参数,具体配置方式多样,包括修改Java运行时的属性文件、提供应用程序资源文件、通过命令行参数或applet参数传递等。 **JNDI对象绑定**是将Java对象与...

Global site tag (gtag.js) - Google Analytics