2008-05-01

DBCP

       DBCP是apache下面的一个开源的数据库连接池,谈谈几个经验 1 Connection出问题后的释放        Connection建立成功后,如果在某次操作的时候,连接本身出现异常,可能需要废弃掉这个连接,创建新连接。当然对于mysql,支持autoReconnect的则不存在问题(Connection本身不需要废弃),但是如果不支持autoReconnect的driver,就存在这个问题。DBCP中使用的是PoolableConnection,关 ...
LoadRunner的lrs_一族的函数是socket操作的函数,可以方便的创建、释放socket,并通过创建的socket收发数据。socket发送的数据可以是固定的数据,也可以是在buffer中使用param来使得发送的内容具有动态 性。那么如果这个param是从用户自定义函数中返回的,那么存在一个没有办法释放的问题。那么有没有什么更好的办法呢。一个办法是通过加载dll,然后传入一个char[]来获取生成的信息,然后把这个信息写给一个buffer,然后发送这个buffer,还有一个方式就是直接发送char[]中的内容,第一种方法要使用lrs_save_param或者lrs_save_par ...
在LoadRunner中使用外部的动态链接库有两种方式,一种是通过Param,另外一个就是直接加载并且使用。开始看到网上有人说是用dll中的函数的话,返回不能是字符串,另外就是参数是字符串的也是只读的,不能更改。这样的话,调用dll就真的是限制太大了。不过后来测试发现,不存在上面两个限制的。 通过Param来使用 外部的dll,要设置Param的类型是User Defined Function,设置dll的路径和方法名称,这个方法貌似是不能有参数的。这样就可以使用了。不过对于这样的方式,Param的值是从函数返回的,返回字符串就比较麻烦了。因为返回字符串,除非是常量字符串,否则都要new(m ...
一个人溺水,等上帝来救他。来了一艘船要救他,他说不,上帝回来救我的,船走了。后来又有两艘船路过要救他,被他用同样的理由拒绝了,结果这个人被淹死了。当他碰见上帝时,他说,上帝啊,我是这么的信仰你,你为什么没有来救我呢?上帝说,我已经派了三艘船去救你,你都拒绝了,上帝也没有办法救你了! 其实很多事情,自己要有好的心态。这很重要!!!
近日想学习一下jBPM,看到有一个插件可以图形化的进行流程的编辑,就下载了一个。就是jbpm中的jpdl-gpd。上次在兄弟公司看到他们的技术人员在介绍jbpm在他们那边的应用。上周就下载了jbpm,似乎现在的版本比较新了一点儿。以前还有一个starter-kit,现在貌似没有了。自己下载好了以后,这个编辑流程的差价也装好了,可是就是工作不正常。也不知道具体是什么原因。奇怪。 今天偶然发现是xmlBuddy和这个gpd有冲突,想来真是奇怪。不过也不知道Eclipse的工作的原理。只能是先禁用XmlBuddy了。或者说是可以通过怎样的设置使得两者共存?有时间自己去研究一下吧。在网上搜了下,只是看 ...
VISTA下的exe文件如果包含了Manifest文件,并且Manifest文件中指明需要管理员权限,那么会弹出UAC的框让用户确认。下面是这个Manifest文件中关于这个部分的xml代码。 <?xml version="1.0" encoding="utf-8"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> & ...
VISTA下,即便你是管理员,也不代表你的程序双击就可以是以管理员身份运行。在4中情况下,是可以按照管理员身份运行的。 程序的映像中包含了Vista Manifest文件,并且文件中指名了需要管理员权限 可执行文件被M$认证过,在Vista的数据库中。那么就是可以以管理员权限执行 右键可执行文件,选择以管理员身份执行。 如果文件名是setup或者update。
自己写程序也写了不短的日子了。这个blog就列出来自己遇到的常犯的错误吧。也算是给自己一个记录,一个提醒。 集合中的元素的删除。 for(int i=0; i < container.length; i++){ if(....){ container.delete(i); } } 在循环中可能删除多个复合条件的元素 ...
无语啊无语。这变化让程序结构都要变化了。 Vista Challenge I (session isolation) We spend about 4 months on R&D and final got it working with some support of the MS helpdesk. Vnc and all remote control softwares are having trouble withy the new Vista security model. In de old model, winlogon was always running in the s ...
Windows Vista 对快速用户切换,用户账户权限,以及服务程序所运行的会话空间都作了很大的改动,致使一些原本可以工作的程序不再能够正常工作了,我们不得不进行一些改进以跟上 Vista 的步伐。 我们的软件在Windows NT/2000/XP/Vista 系统中安装了一个系统服务,这个服务负责以 SYSTEM 权限启动我们的主程序。我们的主程序启动后会在系统托盘添加一个图标,点击此图标可以弹出控制菜单,通过这个菜单也可以激活配置程序首选项的对话框。在 Windows NT/2000/XP 下我们的程序都可以正常工作。哦不,当 XP 具备了快速用户切换功能的时候我们的问题已经出现了。XP ...
看到一篇不错的文章。转载过来也算是给自己的一个积累吧。 You may have heard that built-in services in Windows Vista were specifically hardened by Microsoft engineers during its development process. You might be wondering what that really means, how it works and, if you are a developer, how to harden your own services the Vista ...
JDK6.0发布有段时间了,新的JDK也有不少新的特性,我去网上搜集了一下,列在下面和大家一起学习. 1.Desktop和SystemTray. 在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序。 我随便找了几张图,在Tray里面都是空的,没有图,可能是图太大,有xdjm知道希望告诉我. import java.awt.AWTExc ...
写一个C#的程序,可能会用到一些资源和配置文件,在C#中有两种方式来暴露我们的资源,一个是Embedded Resource,一个是直接放到运行的目录下(通过Copy to local) 。对于不希望发布后能够被用户修改的资源,应该使用Embedded Resource,而那些希望用户修改的配置就直接Copy to local放到编译好的目录中就好了。对于Embedded Resource,还有一个好处是用户只需要拿到Assembly就可以了。Resource是和Assembly绑定在一起的。不会搞的一大堆的文件。那么,应该如何使用Assembly中的Embedded Resource呢?引用 ...
写了一个简单的C#的Console Application想测试一下IBatis.Net 的一些东西。使用的是Mysql数据库,开始下载了一个MySql.Data.dll,是1.0版本的,是OK的。后来下载了一个新的Mysql.Data,是5.0的,发现启动我的Console程序的时候总是还会找那个1.0的,提示什么与预绑定信息就是1.0的,我就晕掉了。百思不得其解。我说C#写程序更新一个外部的包不会如此困难吧。搞了两三天,也在CSDN上还有M$的论坛上问。都没有结果。后来自己发现原来这个版本是在IBatis.Net的providers.confg写死的。真是ft啊ft。问题解决了。还好没有花 ...
今天解决了一个IBatis.Net的使用的问题,这个问题困扰了很久。在做一个管理系统,后台Server采用的是HTTP Server+DB来提供服务。 最初使用的是Perl+BerkeleyDB,演进到Servlet+Mysql,然后又演进到ASP.NET + SQL Server,从Servlet开始ORM使用的是Hibernate,到了ASP.NET后,Hibernate转变为了NHibernate。一次偶然的机会,接触到了别人的一个系统,也想把这个管理系统中的NHibernate替换为IBatis.Net,并且把请求统一放到一个Controller进行Dispatch,也可以在Contr ...