Tomcat jndi 配置
单独建立一个context.xml文件,放在meta-inf 下面,配置内容为:
<Context>
<Resource name="jdbc/oasys" auth="Container" type="javax.sql.DataSource"
maxActive="50" maxIdle="5" maxWait="-1"
username="myroot" password="654321" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.0.206:3306/oasys?useUnicode=true&characterEncoding=utf-8"/>
</Context>
这是连接mysql的配置,其他的数据库同理。
配置jndi时需将驱动jar包拷贝到lib目录下
Resin jndi配置
找到resin目录下的conf文件夹,找到resin.conf 文件,在文件中会发现有一下内容:
<database>
<jndi-name>jdbc/XXX</jndi-name>
<driver type="org.gjt.mm.mysql.Driver">
<url>jdbc:mysql://localhost:3306/oasys?useUnicode=true&characterEncoding=utf-8</url>
<user>root</user>
<password>root</password>
</driver>
<prepared-statement-cache-size>10</prepared-statement-cache-size>
<max-connections>50</max-connections>
<max-idle-time>30s</max-idle-time>
</database>
Type=”xxxxxx” 现在有两种
1. org.gjt.mm.mysql.Driver 2. com.mysql.jdbc.Driver
如果你使用的mysql jar包是5.0以前的可以使用1这种方式,如果是5.0以后的则使用2这种方式,不过本人建议使用2,因为使用这种方式对mysql驱动来说是通用的。
prepared-statement-cache-size 最大preparestatement 缓存数
max-connections 最大连接数
max-idle-time 最大空闲时间
配置jndi时需将驱动jar包拷贝到\lib目录下
jboss jndi配置
在jboss中配置jndi 和其他的服务器比较是比较困难的,同时也是最简单的,到jboss-4.0.3\docs\examples\jca 路径下面你可以发现有一系列的XXX-ds.xml 这些xml就是你现在所需要的,jboss和不同的数据库连接使用的配置文件也不一样,所以才导致在此路径下面会有这么多的配置文件,连接sql server 使用mssql-ds.xml,连接mysql使用 mysql-ds.xml 其他的都是一样的道理。打开这些配置文件会有一下内容
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: mysql-ds.xml,v 1.3.2.1 2004/12/01 11:46:00 schrouf Exp $ -->
<!-- Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://mysql-hostname:3306/jbossdb</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>x</user-name>
<password>y</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
其中我们只需关注红色内容即可,
jndi-name jndi名字
connection-url 数据库路径
driver-class 连接驱动
user-name 用户名
password密码
我们需要的数据,保存后将此文件拷贝到\jboss-4.0.3\server\default\deploy目录下即可。
配置jndi时需将驱动jar包拷贝到\jboss-4.0.3\server\default\lib目录下
Jetty配置
1.配置jetty连接池
在webapp/WEB-INF下创建jetty的环境配置文件jetty-env.xml,jetty启动时从该文件读取配置并配置jetty,配置postgres连接池的jetty-env.xml范例如下:
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
<New id="postgresDb" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/postgres</Arg>
<Arg>
<New class="org.postgresql.ds.PGPoolingDataSource">
<Set name="serverName">db_host</Set>
<Set name="databaseName">db_name</Set>
<Set name="user">db_user</Set>
<Set name="password">password</Set>
</New>
</Arg>
</New>
</Configure>
2.在Spring中使用上面定义的JNDI数据源
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" destroy-method="close">
<property name="jndiName">
<value>java:comp/env/jdbc/postgres</value>
</property>
</bean>