本文來自程式先鋒網站:www.javabiz.cn
Jaguar 提供了一個非常有用的緩存機制來提供數據庫訪問速度。可以根據這個緩存機制來緩存ODBC,JDBC或者Oracle的連接。
注意:java組件不能使用緩存ODBC連接,只能緩存JDBC連接,如果實在沒有JDBC驅動的話, 也可以勉強使用由SUN公司提供的ODBC-JDBC,這種橋的性能很差,而且在多線程的應用系統中可靠性很差。
要想定義一個緩存的ODBC-JDBC(橋)連接,可以按照下面的步驟:
通過ODBC管理面板設置,定義一個普通的系統數據源(DSN)
在 jaguar 裏面定義緩存 :
General Tab : Server name = jdbc:odbc:YourSystemDSNName with user/pwd
Driver Tab : DLL 或者類名 name = sun.jdbc.odbc.JdbcOdbcDriver jdbc radio要選中
Cache Tab : 選中名稱相對應的checkbox
<%@page contentType="text/html"%>
<html>
<head><title>JSP Page</title></head>
<body>
<%@ page import="java.sql.*" %>
<%
com.sybase.jaguar.jcm.JCMCache jcmCache= null;
java.sql.Connection dbConn = null;
String jcmCacheString = "mycachename";
String msg = "";
try {
jcmCache =
com.sybase.jaguar.jcm.JCM.getCacheByName(jcmCacheString);
dbConn =
jcmCache.getConnection(com.sybase.jaguar.jcm.JCMCache.JCM_WAIT);
Statement stmt = dbConn.createStatement();
ResultSet rs =
stmt.executeQuery
("select msg from messages where msgid='00001'");
if(rs != null) {
while(rs.next()) {
msg = rs.getString("msg");
}
}
rs.close();
dbConn.close();
}
catch (Exception e) {
out.println("OUPS " + e.getMessage() + "<BR>");
}
%>
msgtext =
<i><%= msg %></i>
</body>
</html>
不要把緩存的名字硬編碼到你的組件中,讓這個名字放在WEB應用環境變量中是個不錯的選擇,這種方法使得系統維護和更新起來要更容易一些。
這個例子裏面, myconnection 包括了所使用緩存的名稱.
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource)
ctx.lookup("java:comp/env/jdbc/myconnection");
java.sql.Connection con = ds.getConnection();
java.sql.PreparedStatement stmt = con.prepareStatement(sql);
java.sql.ResultSet rs = stmt.executeQuery();
while (rs.next()) {
//do something
}
總結,本文把使用Jaguar 使用緩存ODBC的連接方式使用做了一個示例,僅供各位參考,歡迎指教。
使用一個JSP中的connection 緩存
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java项目面试实操 提升大厂面试成功率
wy53780
2020-04-23 14:14:04
玩转算法系列--图论精讲 面试升职必备(Java版)
wy53780
2020-04-23 14:03:23
玩转Java并发工具,精通JUC,成为并发多面手
wy53780
2020-04-23 13:56:08
线程八大核心+Java并发底层原理精讲(Java并发核心知识体系精讲)
wy53780
2020-04-23 13:55:55
Java通用型支付+电商平台双系统实战
wy53780
2020-04-23 13:54:42
【躍遷之路】【734天】程序員高效學習方法論探索系列(實驗階段491-2019.2.24)
Wall_Breaker
2019-02-24 23:25:10
Java是怎麼運行的?
勤思
2019-02-24 22:52:36
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
Java面試 | 002
Java貓說
2019-02-24 21:05:12
《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL
zhisheng
2019-02-24 21:04:11
Redis | 001能做什麼?
Java貓說
2019-02-24 21:03:51
java中具有繼承關係的類及其對象初始化順序
Linus脫襪子
2019-02-24 19:55:05