java-解决业务操可能数据冲突问题
2013-09-15 22:37
405 查看
问题提出,由于业务会出现多人同时操作,或者业务人员反复的操作,因此在业务流程中,需要对业务操作数据进行保护,由于使用数据库锁可能会引起一些难以预料的问题,因此考虑使用内存锁,设计思想:在内存中使用一个静态的链表,即时的对业务操作进行响应,类似于中断机制。在这个过程中需要考虑使用单例。具体看代码:
问题解决,具体使用还得看业务系统的使用,思路就这样了,还得看系统的运行情况^_^。
import java.util.LinkedList; /** * * Description:<p></p> * @author: JanneLeMac@gmail.com * @version: 2013-9-14 下午10:14:47 */ public class SendHelper { private static LinkedList<String> sendItem=null; private static volatile SendHelper M_INSTANCE = null; /** * Description: <p>use private make sure the SendHelper is unique. </p> */ private SendHelper(){}; public static SendHelper getInstance(){ if(null == M_INSTANCE){//if null synchronized (SendHelper.class) {//if more than two threads run into the first null check same time //to avoid instanced more than one time, it needs to be checked again. if(null == M_INSTANCE){ M_INSTANCE = new SendHelper(); sendItem=new LinkedList<String>(); } } } return M_INSTANCE; } public LinkedList<String> getSendItem() { return sendItem; } public void setSendItem(LinkedList<String> sendItem) { SendHelper.sendItem = sendItem; } public void addItem(String LSH){ sendItem.addLast(LSH); } public void removeItem(String LSH){ sendItem.remove(LSH); } public static void main(String []args){ System.out.println("---------test beagin-----------"); //LinkedList<String> l = new LinkedList<String>(); //SendHelper.getInstance().setSendItem(l); SendHelper.getInstance().addItem("1"); SendHelper.getInstance().addItem("2"); SendHelper.getInstance().addItem("3"); SendHelper.getInstance().addItem("4"); for(int i=0;i<SendHelper.getInstance().getSendItem().size();i++){ System.out.println(SendHelper.getInstance().getSendItem().get(i)); if("2".equals(SendHelper.getInstance().getSendItem().get(i))){ SendHelper.getInstance().removeItem("4"); } } System.out.println("size:"+SendHelper.getInstance().getSendItem().size()); System.out.println("---------test end-----------"); } //1.业务判断,有锁,返回提示信息 //2.加锁 //3.业务操作 //4.移除锁 }
问题解决,具体使用还得看业务系统的使用,思路就这样了,还得看系统的运行情况^_^。
相关文章推荐
- 解决业务操可能数据冲突问题
- kafka java中发送数据、连接失败问题解决
- kafka java中发送数据、连接失败问题解决
- 数据延迟问题导致页面即时刷新数据不全问题如何从业务中解决
- IDEAL葵花宝典:java代码开发规范插件 (maven helper)解决maven 包冲突的问题
- [java]增删改查后给出操作提示后跳转到数据列表的小问题解决[简单实现]
- 解决Java中由于数据太大自动转换成科学计数法的问题
- kafka java中发送数据、连接失败问题解决
- kafka java中发送数据、连接失败问题解决
- 使用apache的TelnetClient实现java向telnet服务器发送命令并显示数据(解决乱码问题)
- java链接mysql数据库并且写入数据并且解决写入数据库乱码问题
- Java 实现Excel表数据的读取和写入 以及过程中可能遇到的问题
- java下的mysql数据库插入越插越慢的问题解决(百万数据量级别)
- kafka java中发送数据、连接失败问题解决
- kafka java中发送数据、连接失败问题解决
- 数据库中导出CSV文件与EXCEL文件数据对比可能遇到的问题与解决方法
- 《Thinking in Java》RMI远程方法示例代码运行是可能遇到的问题及解决方法
- java向mysql插入数据乱码问题的解决方法
- http发送流数据问题,可能的原因和解决办法