看了这么多天关于JNDI的东西,觉得JNDI可以说是weblogic中使用其他功能的一个基础。JNDI不是很难理解,用大白话讲就是讲一个java对象用一个名字绑定起来。同样他可以连接成树。也就是说他不一定绑定java对象。下面是一个JNDI树:
我们可以通过JNDI中的名字来查找相应的对象。
举个列子把,比如我们要建立一个实现JMS的小程序。下面是JMS的一个流程
看图JNDI树,我们将数据连接池,和目的地(Destination)隐藏起来,具体的工作是由weblogic来完成的,同样将数据连接池,和目的地(Destination)绑定在JNDI树上面并给他提供一个名字。那么我们就可以通过lookup()方法来得到这个连接,如上图第一步。
下面介绍一下JMS的流程:
消息产生者向JMS发送消息的步骤
(1)创建连接使用的工厂类JMS ConnectionFactory(通过JNDI)
(2)使用管理对象JMS ConnectionFactory建立连接Connection
(3)使用连接Connection 建立会话Session
(4)使用会话Session和管理对象Destination创建消息生产者MessageSender (通过JNDI创建Destination)
(5)使用消息生产者MessageSender发送消息
从上面你就会感觉到使用JNDI后将很多的东西都简化的,他将你从繁复的类中解脱出来,构建自己的标识来管理你常用的类或是将一系列相关的类苟建成JNDI树。
JMS将接受到的消息有两种保存的方式,一种是保存在文件中,另外一种呢是保存在数据中。这些只需要在weblogic控制台中进行相关的配置就好了。而在发送和接受消息时如果是将消息存储在数据库中那么需要定义相应的bean来作为数据的临时存放点,在传递消息和接受消息时都使用对象形式的传送和接受。
下面来介绍一下关于JDBC的相关知识,jDBC分为四种,如下图:
每种都有不同的作用,我就不一一说明了,下面我来介绍一下数据连接池。
下面两张图分别是数据连接池的图解,和数据源的结构:
Weblogic给了我们一个建立数据连接池和数据源的特别方便的平台,并结合JNDI树开发人员完全不需要考虑数据连接的问题。
数据连接池是服务器预先定义了一定数量的数据连接,在开发人员手中,这个数据连接与普通的JDBC直接连接数据库没有任何区别,但在服务器中这些连接当应用程序不需要此连接时,连接不会被销毁,而是使此连接空闲下来,等待下一个应用程序来调用。同样数据连接池可以动态的增加和减少数据库连接的个数。
该贴由hui.chen转至本版2014-11-11 15:06:54
该贴由hui.chen转至本版2014-11-11 15:08:04