当程序抛出异常,用Exception却无法捕获时,可以试试Throwable. 虽然是基础知识,但真正遇到这种情况时,还真一时没反应过来,基础重要啊!
遗留系统采用了struts+hibernate,现在想添加spring,由它来做一些横切的功能和总体的控制。 遗留系统的数据源和事务处理是建立在hibernate的基础上,新功能的事务处理当然由spring来管理。 现在的问题是: 原来的数据源的获取和事务的管理可以做改动,但不能对代码做大量的修改。 有没有什么办法,可以实现: 1.遗留系统最小的改动; 2.新功能架设在spring之上; 3.新功能和遗留系统在数据源的获取和事务的管理上,各行其道,互相隔离。 看到有人在hibernate.cfg.xml中和applicationContext.xml中都配置了数据源,不知道两者是什么关系, ...
遗留系统用的是struts+hibernate,考虑到将来需要添加很多的横切功能,现在系统准备加上spring。 现在系统中是在hibernate.cfg.xml中配置的数据源,加上spring后,有一个问题有点迷惑,就是数据源的问题。 1.数据源必须在applicationContext.xml中配置吗,如果是的话,这两个数据源是什么关系? 2.是否可以将hibernate.cfg.xml中配置的数据源改为在applicationContext.xml配置?如果可以的话,原来持久层获取session的方式应该做哪些调整? 3.是否可以在程序中通过某种方式获取hibernate.cfg.xml ...
Java对多线程的支持与同步机制深受大家的喜爱,似乎看起来使用了synchronized关键字就可以轻松地解决多线程共享数据同步问题。到底如何?――还得对synchronized关键字的作用进行深入了解才可定论。 总的说来,synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。 在进一步阐述之前,我们需要明确几点: A.无论synchronized关 ...
目前系统客户端用.net实现,java服务端采用了webservice的方式向客户端提供服务。 要实现的功能:验证从.net客户端登陆的用户的合法性。用户从客户端登陆,需要调用java接口验证用户信息的合法性。原java系统中采用了MD5的方式对用户的某些数据进行加密,加密后的数据保存到了DB中。 问题1:用户的某些敏感数据不能在.net的客户端用MD5进行处理。 因为原java系统中用的MD5不是通用的算法,而是对通用MD5进行了改造。糟糕的是,现在做.net客户端的程序员无法实现这个MD5。 解决办法:MD5的工作由java端处理。 即客户端传明文到java端,由java端对用户数据 ...
net的客户端调用java的web服务,在客户端怎样保持session以及通讯的安全问题? 1.当客户端从一个功能跳转到另一个功能,判断用户是否已经登陆应该由客户端来做,还是由服务端来做?如果由客户端来做,应该怎么做?已经很就没接触微软的东西了,不知道能不能实现? 目前的想法: 服务端的类从HttpServlet继承。用户从.net客户端登陆后,服务端生成一个Session对象,然后将用户ID保存到Session中。用户退出时,删除Session中的用户ID。用户从功能A跳转到功能B,从Session中取得当前的用户信息,如果用户ID存在,则证明该用户已经登陆过,从而完成了对客户端sess ...
查询操作不用做事务处理或者不用加锁,以前一直比较同意,今天遇到一个实际的问题,原来这种想法是错误的. 项目中遇到一个用户资金扣除出错的问题: 系统采用了quartz来做定时任务的处理,在某个时间点,自动对用户购买方案进行扣款,通过对日志的跟踪发现:当用户购买了多个方案时,有时用户可用资金会出错。 要实现的功能: 查询用户的可用资金,然后扣款。 假设用户w当前可用资金为1000元,应该执行两次扣款,第一次100,第二次50,用户w正确的余额应该是850。 出错原因: 扣款前要先查询用户当前的可用金额,然后再扣款. 通过日志发现,线程a查询完用户w的可用金额为1000元后,暂停了执行扣款的操 ...
charles qi
搜索本博客
最近加入圈子
存档
最新评论