lift 数据源配置
在webapp目录下建立META-INF目录,里面创建context.xml文件,文件内容如下
<?xml version='1.0' encoding='utf-8'?>
<Context path="/test" docBase="test" reloadable="true" crossContext="true">
<Resource name="jdbc/mysql"
auth="Container"
description="DB Connection"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/test"
username="root"
password="root"
maxActive="40"
maxIdle="20" maxWait="5000"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
/>
</Context>
然后在web.xml中添加
<resource-ref>
<description>service</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
建立后,在boot.scala中调用
DefaultConnectionIdentifier.jndiName = "jdbc/mysql" 表示调用名称为"jdbc/mysql"的数据源
打包项目后,可以看到,在项目根目录下的META-INF目录中,除了MANIFEST.MF文件,还增加了我们创建的context.xml文件,
由于有了res-ref-name,则Tomcat容器的server.xml中的<HOST>下的<context>就不会被调用了。从而达到了我们在单个项目中配置独立数据源的目的
需要注意的是 org.apache.commons.dbcp....需要在apache网站上下载common-dbcp-1.4及common-pool-1.6,放在Tomcat的lib目录下
参考文章
http://www.blogjava.net/ytl-zlq/archive/2009/04/14/265564.html
http://blog.sina.com.cn/s/blog_4bf258980100rpdi.html