在用spring做數據源配置的時候
如果浏覽量太大就會導致超出數據庫連接會話上寫的錯誤
處理方式:
推薦第三種
[java]
public class SpringDBInit
{
/**
* 系統應用spring環境
*/
private static ApplicationContext ctx;
/**
* 單實例對象
*/
private static SpringDBInit instance = null;
private SpringDBInit()
{
}
/**
* 獲得單實例對象
*
* @return
*/
public static SpringDBInit getInstance()
{
if (instance == null)
{
synchronized (SpringDBInit
{
if (instance == null)
{
instance = new SpringDBInit()
}
}
}
return instance;
}
/**
* 初始化Spring組件
*/
public void init(Properties props)
throws Exception
{
loadContextXML(props)
}
/**
* 加載spring對象
*
* @param props
*/
private void loadContextXML(Properties props)
throws Exception
{
/*
* LogFactory
* LogConstants
*/
try
{
ServletContext servletContext = (ServletContext) props
if (servletContext != null)
ctx = WebApplicationContextUtils
}
catch (Exception e)
{
e
}
if ((ctx == null) || (ctx
{
}
}
/**
* 得到一個spring的配置對象
*
* @param name
* @return
*/
public Object getBean(String name)
{
if (ctx == null)
return null;
else
return ctx
}
/**
* 獲取單個信息
*
* @param key
* @param object
* @param request
* @return
*/
public static String getMessage(String key
{
return ctx
}
}
[java]
public class SpringDBUtil
{
/**
* sjb管理類實例
*/
private static SpringDBInit sdb = SpringDBInit
/**
* 得到一個系統配置 bean
*
* @param name bean的配置名稱
* @return 如果系統沒有加載返回 null
*/
public static Object getBean(String name)
{
return sdb
}
}
[java]
public class SpringInitServlet
extends HttpServlet
{
static final long serialVersionUID =
/**
* 啟動對象實例
*/
private SpringDBInit sdbinit = SpringDBInit
/**
* servlet初始化
*/
public void init(ServletConfig config)
throws ServletException
{
super
Properties props = new Properties()
props
// 文件路徑
String prefix = getServletContext()
// web應用路徑
props
try
{
sdbinit
}
catch (Exception e)
{
}
}
}
web
[html]
<servlet>
<servlet
<servlet
<load
</servlet>
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28694.html