- 浏览: 96677 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (48)
- ruby (7)
- scala (1)
- java (11)
- jython (1)
- python (1)
- life (0)
- jruby (1)
- javascript (1)
- 翻译 (0)
- lua (2)
- SUSE (1)
- scheme (6)
- amb (1)
- 编译器 (0)
- javaee (1)
- 分布式 (0)
- 并发 (1)
- 杂感 (1)
- IO (0)
- POJO (0)
- EJB (0)
- concurrent (0)
- 算法 (1)
- ibm (0)
- JNI (0)
- AOP (0)
- asm (0)
- Groovy (1)
- agent (0)
- instrument (0)
- manifest (1)
- classloader (0)
- jboss (0)
- code (0)
- OSGI (0)
- 庄子 (0)
- JTA (0)
- SA (1)
- clojure (0)
- collections (0)
- hotswap (0)
- 序列化 (0)
- CORS (0)
- 停机 (0)
- JVM (0)
- parallel (0)
- NIO (0)
- weblogic (0)
- transaction (1)
- 反思 (1)
- 事务 (1)
- 海量数据 (0)
- JDO (0)
- JPA (0)
- storm (0)
- log4j (0)
- java2d (0)
- btrace (0)
- hadoop (1)
- cygwin (1)
- sshd (1)
- wanlu (0)
- mysql (0)
- debug (0)
- autotest (0)
- Error (0)
- 数据结构 (0)
- descriptor (0)
- jdb (0)
- hsdb (0)
- wiki (0)
- maven (0)
- spring (0)
- eclipse (0)
- mvc (0)
- 代理 (0)
- oracle (0)
- hibernate (1)
- Hash (0)
- blockingqueue (0)
- remember (0)
- graphviz (0)
- http (0)
- post (0)
- jdbc (0)
- websocket (0)
- inter (0)
- got error: The Network Adapter could not establish the connection when creating a data source in Weblogic pointing to a Oracle database (1)
- bug (0)
- xml (0)
- mail (0)
- db (0)
- JAXB (0)
- StAX (0)
- google (0)
- haskell (1)
- rpc (0)
- read-code (0)
- spring-cloud (0)
- service-registry-discovery (0)
最新评论
-
IamSungod:
很有探索精神,学过多种编程语言呀
clojure parse xml -
messi_18:
是的。不知道别的平台是否也有类似问题。
scalatest 尝试(一) -
llh110220:
lz在windows下编写的吧
scalatest 尝试(一)
今天不知那根弦动了下,开始咬文嚼字JNDI。之所以说咬文嚼字,实在是浮于表面没有深入。权当作读书笔记。
JNDI这个东西是用来干嘛的啊?EJB,RMI-IIOP都用它来定位对象:先绑定对象到一个名字,然后再那这个名字把那个绑定的对象取出来。(写到这里,我忽然间知道我为何关注JNDI了:我是这几天一直看RMI,RMI-IIOP, EJB, CORBA, IDL这些东西来着。至于我为何看这些我也记不清了为何了。)
就是这样简单啊。好像超市门前的存储箱啊,先把包保存进去,拿到一个记着箱子号的条形码,买完东西那这个条形码一扫,东西就取出来了。我这里写的很不准确,因为忽略了细节:我拿到的包是我放进去的那个包(返回reference),还是那个包的克隆品(序列化),还是一个看起来像包的什么东西(返回的是本地构造的stub)。这里取到的东西应该是provider相关的。实际上在RMI-IIOP的场景,返回的是本地的stub的实例。
我今天所要说的是。什么是JNDI?它其实就一个API。有两部分组成,一部分是JNDI API(Java Naming and Directory Interface
Application Programming Interface),一部分是JNDI SPI(Java Naming and Directory Interface
Service Provider Interface)。前者是外观,后者是具体实现。看到provider,我想很多人就明白了十之七八。这就是plugin啊,看来JNDI是支持不同的服务的。
从这里可以看到,从jdk1.4之后,JNDI SPI包含了下面四个provider:
The LDAP Service Provider
The COS Naming Service Provider
The RMI Registry Service Provider
The DNS Service Provider
所以我们平时用JNDI的时候,都这么用的。
我们会用一系列的参数来初始化InitialContext。其实这里无疑是一个工厂模式:根据传入的java.naming.factory.initial创建不同的provider。
从一定程度上说,EJB容器也是一个JNDI service provider。只有这样我才可以通过JNDI来定位EJB啊。
总结一下:JNDI是由两部分组成的:应用程序API和provider API。前者是调用接口,后者包装了不同的服务提供者。这里再补充一句,那也得服务程序启动之后,您才能去施展JNDI啊。那服务程序是什么?就是LDAP,COS,RMI,DNS啊。
JNDI这个东西是用来干嘛的啊?EJB,RMI-IIOP都用它来定位对象:先绑定对象到一个名字,然后再那这个名字把那个绑定的对象取出来。(写到这里,我忽然间知道我为何关注JNDI了:我是这几天一直看RMI,RMI-IIOP, EJB, CORBA, IDL这些东西来着。至于我为何看这些我也记不清了为何了。)
就是这样简单啊。好像超市门前的存储箱啊,先把包保存进去,拿到一个记着箱子号的条形码,买完东西那这个条形码一扫,东西就取出来了。我这里写的很不准确,因为忽略了细节:我拿到的包是我放进去的那个包(返回reference),还是那个包的克隆品(序列化),还是一个看起来像包的什么东西(返回的是本地构造的stub)。这里取到的东西应该是provider相关的。实际上在RMI-IIOP的场景,返回的是本地的stub的实例。
我今天所要说的是。什么是JNDI?它其实就一个API。有两部分组成,一部分是JNDI API(Java Naming and Directory Interface
Application Programming Interface),一部分是JNDI SPI(Java Naming and Directory Interface
Service Provider Interface)。前者是外观,后者是具体实现。看到provider,我想很多人就明白了十之七八。这就是plugin啊,看来JNDI是支持不同的服务的。
从这里可以看到,从jdk1.4之后,JNDI SPI包含了下面四个provider:
The LDAP Service Provider
The COS Naming Service Provider
The RMI Registry Service Provider
The DNS Service Provider
所以我们平时用JNDI的时候,都这么用的。
Hashtable<String,String> props = new Hashtable<String,String>(); props.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory"); props.put("java.naming.provider.url", "iiop://localhost:1050"); Context context = new InitialContext(props); context.lookup("some service");
我们会用一系列的参数来初始化InitialContext。其实这里无疑是一个工厂模式:根据传入的java.naming.factory.initial创建不同的provider。
从一定程度上说,EJB容器也是一个JNDI service provider。只有这样我才可以通过JNDI来定位EJB啊。
总结一下:JNDI是由两部分组成的:应用程序API和provider API。前者是调用接口,后者包装了不同的服务提供者。这里再补充一句,那也得服务程序启动之后,您才能去施展JNDI啊。那服务程序是什么?就是LDAP,COS,RMI,DNS啊。
发表评论
-
Atomic reference vs volatile reference
2015-12-21 00:05 409volatile reference和atomic refer ... -
java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
2013-06-27 16:27 0Today when I try to send mail b ... -
java exchanger
2013-06-19 15:54 0Today focus on: multi-thread in ... -
java blocking queue performance issue when large concurrency
2013-05-16 15:35 0I recalled someone ask me a que ... -
发现了几篇关于java虚拟机的好文章,要好好消化一下
2013-04-19 15:49 0好久没有关注jvm了,今天翻到了几篇好文章。先记下,有时间消化 ... -
Java Endorsed Standards Override Mechanism
2013-04-18 17:56 0Today I read an article named & ... -
java.lang.LinkageError
2012-12-11 14:13 0今天遇到了一个问题java.lang.IllegalAcces ... -
管理log插入。比如编译时插入。
2012-11-20 20:51 0管理log插入。比如编译时插入。 萌发这个想法是因为每次,调试 ... -
java解惑44题没重现
2012-11-09 02:18 0java解惑第44题我没有重现。 jdk1.6.0_35 ... -
java2d学习
2012-11-07 00:37 0想要系统的学习一下java2d 第一步学习画阿基米德螺旋曲线。 ... -
ASM初探
2012-11-02 00:38 0今天遇到了一个问题。Log4J的config and watc ... -
String.split
2012-10-31 21:02 779String.split(String reg)这个方法一点不 ... -
mina,hbase,zookeeper
2012-10-26 22:49 0我要学习探索新知识的有效手段。从这两个开始吧。 -
log4j那些事儿
2012-10-25 19:31 0都知道Log4j是用来输出日志的框架。不怕笑话,我一直都知道它 ... -
storm是什么
2012-09-28 16:49 0storm是什么?需要研究一下。 https://github ... -
你知道吗,-Long.MIN_VALUE == Long.MIN_VALUE
2012-09-20 22:58 3163相信吗,-Long.MIN_VALUE == Long.MIN ... -
transaction in JAVAEE and Spring
2012-09-14 19:16 0XA transaction and local transa ... -
weblogic 数据源的事务管理
2012-09-14 01:50 0有这样一个case,在weblogic下配置了两个数据源,其中 ... -
java NIO
2012-09-13 16:52 0由这篇文章想到了NIO。 然后又提到了这篇文章。 -
java 并发与并行(Java concurrent and parallel)
2012-09-13 16:19 0起因是想知道BlockedQueque是干嘛的,接着想到了这篇 ...
相关推荐
这是我平时自己总结的有关做开发时候遇到的JNDI配置相关的问题,不算多,拿出来分享一下
JNDI技术总结
JNDI学习总结,JNDI配置数据源,资料详细,适合初学者
关于JNDI的介绍和个人总结 还请多多指教 大家来分享学习 共同进步 谢谢
1.3 Java事务处理总结 1.4 JavaBean中使用JDBC方式进行事务处理 1.5 JSP 隐式对象简介 1.6 Java解析XML的四种方法 1.7 struts1和truts2比较 1.8 Tomcat5启动流程与配置详解 1.9 HttpServlet详解 1.10 Ant使用...
自己总结的三种使用方式,对比来看选择最适合你的方式
java - 访问数据库学习 在Java开发中,使用JDBC操作数据库的步骤 数据源由来、数据源配置
tomcat_jndi_hibernate 是我总结的一些关于在tomcat下配置jndi数据源的方法,我用的是oracle数据库. 配置好jndi后,用于hibernate时其中也有提到
JAVA笔试总结 非常全面 基本上囊括了Java所有常考知识点,并且每个知识点都有详细解释。 知识点主要包括: native,transient,volatile,strictfp,CMM,synchronized,java socket,压缩与解压缩,多线程,垃圾回收算法,...
很好的LDAP资料 包括了使用jndi操作ad等
WED工作原理、HTTP协议、Servlet、GET和POST提交方式的优缺点、MVC设计、连接池、JNDI、自定义异常、Log4j、EL 和 JSTL、Wed service
目录 1.前言 2.基本术语 2.1.可扩展性 2.2.高可用性 2.3.负载均衡 2.4.容错 2.5.失败转移 2.6.幂等方法 ...3.什么是J2EE集群?...4.2.4.WebLogic, WebSphere, JBoss的方案:...9.总结 10.关于作者 11.附录A:中英文对照表
课程目标: 掌握Servlet和会话技术 掌握基于组件的分层开发技术 掌握JSTL、EL和JavaBean 掌握JDBC的高级技术、自定义异常、JNDI查找数据源 掌握Web Services的创建、发布和调用
JavaEE5学习笔记04-JavaMail使用总结----
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。 SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来...
jsp编程的一些小技巧总结,绝对实用。包括JSP编程中常用的js技术。 1.JSP编程中常用的js技术 2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4. 两级下拉列表框联动菜单? 5. java中如何把一个目录...
比较全的技术文档,免费贡献给大家,觉得好的话帮忙顶一下。
1. jpivot加入其它应用中 解压jpivot.war 文件,在你的应用当中你需要下面的这些文件: /wcf/** /jpivot/** /WEB-INF/wcf/** /WEB-INF/jpivot/** /WEB-INF/lib/** 最后你还需要对比 jpivot.war 里的 web.xml ...
本课件是我们学习j2ee时用的教学课件,非常详细地总结了j2ee的servlet,jsp,jdbc,jndi,XML等,总共有十四讲,适合于对j2ee有初步了解的人参考
所以,就此问题我根据平常使用总结出一些经验和大家交流一下。1、java数据库操作基本流程2、几个常用的重要技巧:·可滚动、更新的记录集·批量更新·事务处理java数据库操作基本流程:取得数据库连接-执行sql语句-处理...