Archive for 十二月 22nd, 2003
在tomcat中使用数据库连接池
星期一, 十二月 22nd, 2003server.xml定义上下文,<Host>标签中
<Context path=”/publish” docBase=”publish” debug=”5″ reloadable=”true” crossContext=”true”>
<Resource name=”jdbc/publish_sqlserver” auth=”SERVLET” type=”javax.sql.DataSource”/>
<ResourceParams name=”jdbc/publish_sqlserver”>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!– Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
–>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!– Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
–>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!– Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
–>
<parameter>
<name>maxWait</name>
<value>1000</value>
</parameter>
<!– MySQL dB username and password for dB connections –>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>secret</value>
</parameter>
<!– Class name for mm.mysql JDBC driver –>
<parameter>
<name>driverClassName</name>
<value>com.jnetdirect.jsql.JSQLDriver</value>
</parameter>
<!– The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
–>
<parameter>
<name>url</name>
<value>jdbc:JSQLConnect://192.168.1.108:1433/database=repent/applicationName=sWPS2.0</value>
</parameter>
</ResourceParams>
</Context>
web application的web.xml中定义使用的资源
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/publish_sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
redeploy web application后,如果数据库参数没有错误,可以按如下方法使用
<%@page import=”java.util.*”%>
<%@page import=”javax.naming.*”%>
<%@page import=”javax.sql.*”%>
<pre>
<%
Context initialcontext = new InitialContext();
Context envContext = (Context)initialcontext.lookup(“java:comp/env”);
DataSource dataSource = (DataSource)envContext.lookup(“jdbc/publish_sqlserver”);
Connection connection = null;
Statement stmt = null;
if(dataSource!=null)
connection = dataSource.getConnection();
if (connection != null) {
stmt = connection.createStatement();
}
connection.close();
stmt.close();
%>
</pre>
Log4j 简易使用指南
星期一, 十二月 22nd, 2003依据log4j的mannual中在servlet应用的一个例子
Log4jInit
package com.foo;
import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.io.IOException;
public class Log4jInit extends HttpServlet {
public
void init() {
String prefix = getServletContext().getRealPath(“/”);
String file = getInitParameter(“log4j-init-file”);
// if the log4j-init-file is not set, then no point in trying
if(file != null) {
PropertyConfigurator.configure(prefix+file);
}
}
public
void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
web.xml
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.foo.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>WEB-INF/classes/log4j.lcf</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
log4j.lcf
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller’s file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) – %m%n
#R 输出到文件
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=d:/log4j.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p] %d{yyyy-MM-dd HH:mm:ss} %x %t %c – %m%n
In any class u can use like this
Logger log = Logger.getLogger(this.getClass().getName());
log.error(se);
When shut down
LogManager.shutdown();