jndi

《深入理解mybatis原理》 Mybatis数据源与连接池

独自空忆成欢 提交于 2020-03-01 10:20:22
对于ORM框架而言。数据源的组织是一个很重要的一部分。这直接影响到框架的性能问题。 本文将通过对MyBatis框架的数据源结构进行详尽的分析,而且深入解析MyBatis的连接池。 本文首先会讲述MyBatis的数据源的分类,然后会介绍数据源是怎样载入和使用的。紧接着将分类介绍UNPOOLED、POOLED和JNDI类型的数据源组织。期间我们会重点解说POOLED类型的数据源和事实上现的连接池原理。 下面是本章的组织结构: 一、MyBatis数据源DataSource分类 二、数据源DataSource的创建过程 三、 DataSource什么时候创建Connection对象 四、不使用连接池的UnpooledDataSource 五、为什么要使用连接池? 六、使用了连接池的PooledDataSource 一、MyBatis数据源DataSource分类 MyBatis数据源实现是在下面四个包中: MyBatis把数据源DataSource分为三种: ž UNPOOLED 不使用连接池的数据源 ž POOLED 使用连接池的数据源 ž JNDI 使用JNDI实现的数据源 即: 对应地,MyBatis内部分别定义了实现了java.sql.DataSource接口的UnpooledDataSource,PooledDataSource类来表示UNPOOLED、POOLED类型的数据源。

Java消息服务

心不动则不痛 提交于 2020-02-24 23:03:18
一、 消息传送机制基础 1 、消息传送机制的优点 ①异构集成:在完全不同的平台上实现应用程序和系统请求调用服务。消息传送机制提供跨应用程序和子系统共享数据和功能的去耦方案。 ②缓解系统瓶颈:与一个同步组件处理众多请求时,众多请求一个接一个地积聚阻塞不同,这时候请求会发送到一个消息传送系统,该系统将该请求分发给多个消息侦听器组件 ( 增加漏斗 ) 。如此一来,就缓解了单独采用点对点同步连接带来的系统瓶颈。 ③提高可伸缩性:通过引入能够并发处理不同消息的多个消息接收者 ( 消息侦听器 ) ,消息传送系统的可伸缩性得以实现。 ④提高最终用户生产率:通过使用异步消息传送机制,用户可以在向系统发出请求后,继续做其他事情。 ⑤ 体系结构灵活性和敏捷性:消息传送机制抽象和去耦组件,能快速地响应软硬件和业务的变化。使用消息传送机制方式,消息生产者或是客户端组件都不会知道接收 组件使用的是哪种编程语言或平台,组件或服务位于何处,组件或服务实现的名称是什么,甚至用于访问该组件或服务的是哪种协议。 2 、企业消息传送 消息是通过网络从一个系统异步传送给其他系统的。在异步消息传送机制中,应用程序使用一个简单的 API 来构建一条消息,然后再将该消息转发给面向消息的中间件,以便传送给一个或多个的预定接收者。一条消息就是一个业务数据包,它通过网络从一个应用程序发送给其他应用程序。消息应该是自描述的

Tomcat,Jboss,Weblogic通过jndi连接数据库

给你一囗甜甜゛ 提交于 2020-02-24 20:07:21
1. Tomcat 配置Jndi数据源 1.1在tomcat服务器的lib目录下加入数据库连接的驱动jar包 1.2修改tomcat服务器的conf目录下server.xml配置文件 编辑server.xml文件,添加全局JNDI数据源配置,配置如下: <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> <!-- |- name:表示以后要查找的名称。通过此名称可以找到DataSource,此名称任意更换,但是程序中最终要查找的就是此名称, 为了不与其他的名称混淆,所以使用jdbc/oracle,现在配置的是一个jdbc的关于oracle的命名服务。 |- auth:由容器进行授权及管理,指的用户名和密码是否可以在容器上生效 |- type:此名称所代表的类型,现在为javax.sql.DataSource

Paginate on LDAP server which does not support PagedResultsControl

隐身守侯 提交于 2020-02-23 09:33:53
问题 I'm trying to get all entries on an LDAP server using Spring LDAP (version 2.3.2). Within my code, I make use of PagedResultsDirContextProcessor to paginate through all the result. This works fine on the servers which support PagedResultsControl . However, I now need to connect to an LDAP server which does not support PagedResultsControl . How can I get all entries without using PagedResultsControl ? 回答1: You can use VirtualListView via JNDI. You have to retrieve and re-supply the 'contextID'

Connecting to LDAP server using JNDI in Java

北城以北 提交于 2020-02-15 13:49:35
The following example demonstrates how to make connection to a LDAP server using JNDI ( Java Naming and Directory Interface ) APIs in Java. The JNDI’s interfaces, classes and exceptions are available in the javax.naming.* and javax.naming.directory.* packages which come with JDK. That means you don’t have to use any external libraries for working with LDAP servers, in most cases. First, you need to specify URL of the LDAP server in the following form: 1 String url = "ldap://localhost:389" ; That specifies URL of a LDAP server which is running on local host and is listening on the default port

Spring数据源配置

[亡魂溺海] 提交于 2020-02-13 00:59:02
什么是数据源 数据源(DataSource)是SUN公司制定的用于获取数据库连接的规范接口。它存在于 javax.sql包中,用来代替 DriverManager 的方式来获取连接。 DataSource 与 DriverManager 获取连接的不同: a)、DriverManager是由SUN公司实现的,它只供了最基本的获取连接的方式; b)、DataSource是一个接口,不光SUN可以实现,很多第三方的中间件也可以实现 DataSource一般有如下三种实现方式: a)、标准实现 -- 提供最基本的连接,也就是DriverManager的方式; b)、连接池的实现 -- 提供了连接池,是一种可以缓存及管理多个数据库连接的“容器”; c)、分布事务的实现 -- 提供了连接池,而且这个池中的连接是支持分布式事务的(Distribute Transaction) Spring提供了4种配置数据源的方式: Spring自带的数据源(org.springframework.jdbc.datasource.DriverManagerDataSource) DBCP数据源 C3P0数据源 JNDI数据源 配置DriverManagerDataSource <bean id="dataSource" class="org.springframework.jdbc.datasource

Plug Bean to JBoss with JNDI

可紊 提交于 2020-02-06 16:37:37
问题 I wonder how object (if it matter I need EJB) can be plugged to JBoss (5.0) with JNDI? I have following bean definition in my Spring applicationContext.xml : <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" /> <context:annotation-config/> <bean id="myServiceFacade" class="org.springframework.jndi

Plug Bean to JBoss with JNDI

我怕爱的太早我们不能终老 提交于 2020-02-06 16:35:11
问题 I wonder how object (if it matter I need EJB) can be plugged to JBoss (5.0) with JNDI? I have following bean definition in my Spring applicationContext.xml : <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" /> <context:annotation-config/> <bean id="myServiceFacade" class="org.springframework.jndi

How to import javax.naming?

喜欢而已 提交于 2020-02-04 08:13:31
问题 I was trying to connect an android application with some session beans on my server, but I realized that java.naming is not supported on android... My question is how to import javax.naming?if its not possible, so how to connect android application to my session beans? Any ideas? 回答1: My question is how to import javax.naming? Most likely, you don't. What you can try is: Step #1: Find if Apache Harmony has javax.naming . If so, grab it and any other Apache Harmony class that javax.naming

How to import javax.naming?

爷,独闯天下 提交于 2020-02-04 08:08:47
问题 I was trying to connect an android application with some session beans on my server, but I realized that java.naming is not supported on android... My question is how to import javax.naming?if its not possible, so how to connect android application to my session beans? Any ideas? 回答1: My question is how to import javax.naming? Most likely, you don't. What you can try is: Step #1: Find if Apache Harmony has javax.naming . If so, grab it and any other Apache Harmony class that javax.naming