使用jdbcdslog 跟踪 JDBC-记录带有详细参数值的SQL
jdbcdslog 是一款用来跟踪 JDBC 的全功能工具,记录带有详细参数值的SQL。
特征包括:
- 可挂接到数据库连接, 驱动或数据源上(XA, 连接池)
- 可记录 PreparedStatement 和 CallableStatement 调用所绑定的参数
- 可记录 ResultSet 对象中的查询记录行
- 可记录查询执行时间
- 支持多种日志引擎 (感谢 SLF4J, 你可以使用多数流行的日志组件库, 像 log4j, apache common logging, java logging 或者简单的输出到 System.out)
你有三种选择去配置日志代理:
- 在你的代码中包裹 JDBC 连接.
用下面那样的构造方式:
Connection loggingConnection = ConnectionLoggingProxy.wrap(originalConnection);
- 配置 JDBC Driver 的日志代理.
在这种方法中,你必须使用 org.jdbcdslog.DriverLoggingProxy 来替代你原本的 JDBC Driver 类,并使用 jdbcdslog 的 URL 格式,原连接的 URL 作为它的参数:
jdbc:jdbcdslog:;targetDriver=
- 配置 JDBC 数据源日志代理.
这种方式下,你需要使用 org.jdbcdslog.ConnectionPoolXADataSourceProxy 类来替代你自己的 DataSource 实现类, 还要传递一个值为 DataBase 或 URL 的附加参数 targetDS 作为新的 DataSource 的配置项.
更多信息和配、配置实例、jar 文件和源代码,请参看该项目的网站: http://code.google.com/p/jdbcdslog/.
jdbcdslog支持DataSource(XA,Pooling):
Spring DI
<jee:jndi-lookup id="mssDataSourceActual" jndi-name="${mss.dataSource.main.jndiName}"/>
<bean id="mssDataSource" class="org.jdbcdslog.ConnectionPoolXADataSourceProxy">
<property name="targetDSDirect" ref="mssDataSourceActual" />
</bean>
(jndi的使用,请google)
Weblogic + Oracle
<jdbc-driver-params>
<url>jdbc:oracle:thin:@10.100.53.85:1521:cmn?targetDS=oracle.jdbc.xa.client.OracleXADataSource</url>
<driver-name>org.jdbcdslog.ConnectionPoolXADataSourceProxy</driver-name>
<properties>
<property>
<name>user</name>
<value>mssapp</value>
</property>
<property>
<name>serverName</name>
<value>10.100.53.85</value>
</property>
<property>
<name>portNumber</name>
<value>1521</value>
</property>
<property>
<name>SID</name>
<value>cmn</value>
</property>
</properties>
<password-encrypted>{3DES}ThgsfHr3yB1bfpnD4u/t3A==</password-encrypted>
</jdbc-driver-params>
使用 jQuery Mobile 快速开发 mobile 网站
使用过 jQuery 的人一定都爱死 jQuery 有名的 “write less, do more” 。只要透过 jQuery, 我们就不用再担心恼人的跨浏览器问题。但随着手持式装置的渐渐普及,大家开始发现跨览器问题到了手机上反而比 PC 上更加严重:在手机上不只是浏览器不同,OS 的歧异度也比 PC 上来得更加严重。于是,在 2010 的 10 月 jQuery 终于在大家的期待之下推出了jQuery Mobile。只要使用这个简单易用的 framework, 很快就可以做出跨 device 的 mobile appilcation。jQuery Mobile 几个重要的 features 包括:
jQuery mobile 可以 support 许多不同的平台,包括:iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, bada, MeeGo,以及其他可以看得懂 HTML的devices。详细的支持状况可以参考 Mobile Graded Browser Support
“taking a fully functional HTML web page, layering on additional JavaScript functionality, and giving capable browsers a top-of-the-line experience.”
让较旧的手机一样可以看到基本的功能(even 不支持 javascipt !! ),同时又可以让支持度比较好的浏览器享受较先进的功能。
jQuery 主要是透过 HTML5 data-* tag 来达成种种 UI 的设定,只要认识了大概的语法,不用写一行 javascript,就可以快速建出 app 的雏型。对于对JavaSript 不热的设计师,或是对谈到 UI 设计就一个头两个大的工程师,jQuery mobile 的方便绝对让你爱不释手
Hadoop的五个典型应用场景
Hadoop作为大数据存储及计算领域的一颗明星,目前已经得到越来越广泛的应用。下面PPT主要分析了Hadoop的一些典型应用场景,并对其进行了深入分析,主要包括下面几个方面:
- 日志处理: Hadoop擅长这个
- 抓住本拉登: 并行计算
- ETL: 每个人几乎都在做ETL(Extract-Transform-Load)工作 Netezza关于使用Hadoop做ETL任务的看法)
- 使用HBase做数据分析: 用扩展性应对大量的写操作— Facebook构建了基于HBase的实时数据分析系统
- 机器学习: 比如Apache Mahout项目