关于接口并发问题,webservice,等http请求

暂且不谈高并发 只谈并发  .

不想丢请求再去考虑高并发 MQ或redis的事(这里不考虑)

正题.记录自我需求处理并的情况.

公司的一个框架(一种商业框架很庞大)无法使用整合市面上那些较新的技术框架,只能使用基础的java工具

这里的接口是一个模块 是webservice的

外部系统调用这个接口 重复写入 数据出现重复单据.故对此问题进行解决.

分析:

1.外部系统短时多次提交重复数据 

2.接口系统业务复杂 处理数据用时过长,导致数据积压 .数据脏读.

/*** 产成品入库单* @author Administrator**/
public class GetIcFinprodin {private static final Integer JP = 127;//同步对象标识public String getExecute(String operation,String orderform){String resultstr=null; if (operation.equals("Insert")){//插入resultstr = insert(operation, orderform);}return resultstr;}/*** 插入 * @param operation* @param orderform* @return*/public String insert(String operation,String orderform){Boolean flag = true;//默认通过synchronized(JP) {//通过mes单据号查询单据是否存在 不存在就可以插入否则返回已插入提示if(StringUtils.isNotBlank(vdef1) ){try {BaseDAO bd = new BaseDAO();String vbillcodeExist = (String)bd.executeQuery("select vbillcode from ic_finprodin_h where vdef1 = '"+vdef1+"'", new ColumnProcessor());if(StringUtils.isNotBlank(vbillcodeExist)){flag = false;//已存在不允许重复插入}} catch (DAOException e) {e.printStackTrace();}}if(flag){//业务===========....耗时代码段   SGetXChangeService gtxchangeservice=new GetXChangeService();Object ovbillcode = "";JSONObject backinfojson=gtxchangeservice.getXChangeservice(xml_sb.toString());if(backinfojson.getString("$successful").equals("Y")){String pk=backinfojson.getJSONObject("sendresult").getString("content");BaseDAO bd = new BaseDAO();try {//获取插入的订单单号  ovbillcode = bd.executeQuery("select vbillcode from ic_finprodin_h where cgeneralhid ='"+pk+"'", new ColumnProcessor());backinfojson.put("$vbillcode", ovbillcode);} catch (Exception e) {e.printStackTrace();}//业务.-===========...耗时代码段    E	}else if(backinfojson.getString("$successful").equals("N")) {backinfojson.put("$vbillcode",ovbillcode);}return backinfojson.toJSONString();}else{JSONObject backinfojson = new JSONObject();backinfojson.put("$successful", "Y");backinfojson.put("sendresult", vdef1+" MES单据已存在,单据已插入成功!");return backinfojson.toJSONString();}	}}}

JP 标识使用  基本类型 或String 类型(注意不能new  这里是java基础的东西,可了解一下 )  作为同一对象   保证线程同步 有兴趣的可以把 127 改成128 试试效果 估计你能找到答案

同步之后性能会下降,做个取舍吧.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

钉钉项目任务怎么添加审批表单

首先我们要通过检查项功能为任务添加检查,只有检查人员通过了才可以对任务进行完成操作。今天我们来操作一下怎么给任务添加审批表格结合的功能,只有绑定的审批表单流程审批通过或者撤销了才可以进行任务完成的操作,详细请看下文介绍。 一、…

视图有索引吗?答:没有. 查询视图会触发索引吗?答:会

面试的时候当我问到这样的问题的时候面试者往往不给我正面回答.很讨厌.所以我在表体直接给出答案. 看其他人的回答 视图会用走索引吗. 答: 先来一通视图的定义 ,视图的作用,优缺点. 很好,不正面回答防止pass , 这样让面试官感觉自己懂得很多. 1.什么是视图 视图是一种虚拟的…

Foxmail新建自动标签功能在哪 如何给Foxmail收件人邮件设置自动标签

Foxmail邮件客户端软件,是中国最著名的软件产品之一,在Foxmail里面有很多比较好的功能,比如自动标签,那么,Foxmail新建自动标签功能在哪?如何给Foxmail收件人邮件设置自动标签呢?接下来就让我们一起去了解一下吧! 给…

泛微OA 注册自定义接口格式

package weaver.interfaces.workflow.action.javacode;import weaver.interfaces.workflow.action.Action; import weaver.general.BaseBean; import weaver.soa.workflow.request.RequestInfo; /*** 在线自定义action接口*/ public class Action20221110092310 extends BaseBe…

win7安装后无声音怎么办

我们在使用win7操作系统之后,有的小伙伴们在进入操作系统的过程中就遇到了电脑系统没有声音的情况。那么win7安装后无声音怎么办?对于这种问题小编觉得可能是因为我们电脑在系统安装的过程中,声卡驱动出现了某种故障导致的。可以尝试更新驱动…

JEECG 逻辑删除

逻辑删除 /*** 删除员工表* * return*/RequestMapping(params "doDel")ResponseBodypublic AjaxJson doDel(DbJpEmployeeEntity dbJpEmployee, HttpServletRequest request) {AjaxJson j new AjaxJson();dbJpEmployee systemService.getEntity(DbJpEmployeeEntit…

腾讯视频APP如何提交反馈

1、打开手机上的腾讯视频。 腾讯视频APP如何提交反馈 2、点击意见反馈进入。 腾讯视频APP如何提交反馈 3、选择输入你的反馈。 腾讯视频APP如何提交反馈 4、输入你的反馈,留下你的联系方式,提交反馈即可。 腾讯视频APP如何提交反馈 转&#xff1…

谷歌浏览器怎样设置主页 Chrome浏览器主页设置流程简述

对大部分刚刚接触谷歌浏览器的用户来说,想要熟练地使用这款浏览器软件并不是一件轻松的事,即便是设置主页这样的小问题也很难轻易解决!那么,谷歌浏览器要怎样设置主页?下面小编就来简单介绍一下Chrome浏览器主页设置的流程,小伙伴…

猎豹浏览器怎么设置双击关闭网页 双击关闭网页设置方法

和默认双击关闭标签项的360安全浏览器不同,猎豹浏览器并未默认这一功能,甚至还有许多用户认为猎豹浏览器中并无该功能。其实猎豹浏览器也有双击关闭标签项功能,只是需要手动开启而已!下面小编就来分享一下猎豹浏览器双击关闭网页的设置方法。…

大地win11 32位旗舰版镜像v2021.08

大地win11 32位旗舰版镜像v2021.08是一款专为笔记本用户准备的电脑系统,这是一个镜像系统,所以安装速度非常快,且充满了独具的特色,让你可以快速的将系统完成安装,而且不用激活,安装完成就能立即使用&#…

Win11正版和盗版有什么区别

相信对于Windows系统大家都不陌生,目前我们的电脑都是搭载Windows系统,Win11是全新的操作系统,很多用户都在升级更新,电脑安装上Win11系统后,许多的小伙伴们不清楚自己的Win11是不是正版系统,Win11正版和盗…

萝卜家园win11 32位官方旗舰版iso文件v2021.08

萝卜家园win11 32位官方旗舰版iso文件v2021.08是一款专为笔记本用户准备的电脑系统,这是一个镜像系统,所以安装速度非常快,且充满了独具的特色,让你可以快速的将系统完成安装,而且不用激活,安装完成就能立即…

vue baidu-map手机端点击事件无效

vue baidu-map手机端点击事件无效 解题思路 手机端 禁用地图拖拽 click事件就会被触发 触摸结束 --> 开启 禁止拖拽 触摸移动中 --> 开启 启用拖拽 我参考的解决办法 https://blog.csdn.net/Davis_Dxs/article/details/82425211 在vue baidu-map 实现 <!DOCTYPE h…

Foxmail怎么诊断邮件的状态

Foxmail可以诊断邮件状态&#xff0c;该怎么诊断呢?下面我们就来看看详细的教程。 1、进入到Foxmail应用窗口&#xff0c;如图 Foxmail怎么诊断邮件的状态? 2、点下上图指出的图标&#xff0c;进入到菜单列表窗口&#xff0c;如图 Foxmail怎么诊断邮件的状态? 3、点下帮…

outlook两个账号怎么分开存储邮件

Outlook可以登陆多个账号&#xff0c;默认情况下不同帐号的文件保存在同一目录下&#xff0c;但是想让不同的账号的邮件保存在不同的位置&#xff0c;该怎么设置呢?下面我们就来看看详细的教程。 outlook两个账号怎么分开存储邮件? 1、桌面上双击Microsoft Outlook 2010图标…

关于mapv点击事件无法点中问题

mapv点击事件let carOptions {draw: "icon",size: 16,zIndex: 100,methods: {}};size属性不会改变我们自己图标的大小&#xff0c;但是会影响点击事件的触发范围。 不设置该属性只有点击图标中间点才能触发。

火狐浏览器如何禁止网站发消息 火狐浏览器禁止网站发消息的方法

火狐浏览器是一款非常安全的浏览器&#xff0c;有很多的小伙伴都在使用它&#xff0c;很多朋友在使用火狐浏览器时都遇到过网站请求发送消息通知权限的情况&#xff0c;那么应该如何解决这个问题呢?下面就和小编一起来看看有什么好的方法吧。 火狐浏览器禁止网站发消息的方法…

vue+播放rtsp流视频监控

vue播放rtsp流视频监控-海康摄像头使用工具vuejsencryptjsWebControl思路解决办法1:弹出新页面vue代码解决办法2:采用组建的方式使用工具vuejsencryptjsWebControl 注:使用海康demo,下载地址:https://open.hikvision.com/download/5c67f20bb254d61550c2f63e?type10 需要注册&…

时光手帐如何打印 时光手帐打印的方法

1、如果你想要来打印自己制作的手帐&#xff0c;那么就需要先点击进入个人页面&#xff0c;然后在右上方选择“打印”选项来进入打印商城中。 时光手帐如何打印 时光手帐打印的方法 2、接下来需要在打印商城里选择店铺进行打印服务&#xff0c;点击进入店铺中选择“打印”功能…

element el-tree 懒加载 默认展开第二层

思路 在el-tree 执行load时&#xff0c;保存节点。调用loadData方法 代码 <el-tree node-key"id" lazy :load"loadNode" />data() {return {chooseNode: {},//当前选中节点}},mounted() {this.$nextTick(() > {//调用loadData方法展开第二层…