国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

java - Spring-data-jpa 剛保存的信息查找不到

瀏覽:67日期:2023-11-07 09:04:21

問題描述

1 后臺(tái)結(jié)構(gòu)

后臺(tái)的結(jié)構(gòu)是 SpringMVC, Spring, jpa(HibernateJpaDialect),DataSource(c3p0), Mysql(InnoBDB), transactionManager(JpaTransactionManager)。

2 問題環(huán)境

@Transactional(value = 'transactionManager', isolation = Isolation.READ_UNCOMMITTED) public Object addScenicSpot(int tourGuideID, String jsonStr) {Djd_js entity = new Djd_js();try{ _setEntity(entity, jsonStr); entity.setDaoyouID(tourGuideID); jdjsDao.save(entity); int spotId = entity.getId(); //添加信息到消息隊(duì)列中try { Sender sender = new SenderImpl(); sender.getGPSFromBaiduAPI('jdjs', spotId, entity.getDizhi());} catch (InterruptedException e) { return false;} return spotId;}catch (Exception e){ return false;} }

以上是保存的部分,并把得到的 ID 發(fā)送到消息隊(duì)列中,下邊是消息隊(duì)列的處理部分

public boolean updateLngAndLat(MessageVo messageVo) {System.out.println('CreateTime--------'+messageVo.getCreateDate());System.out.println('Address--------'+messageVo.getContent());System.out.println('Id--------'+messageVo.getId());Djd_js entity = jdjsDao.findOne(messageVo.getId());System.out.println('entity-Address--------'+entity.getDizhi());、、運(yùn)行到這里就直接卡住了,如果注釋掉查詢,其他的調(diào)用皆正常。Map<String, Object> result = LngAndLatUtil.getLngAndLat(((MessageVo) messageVo).getContent());System.out.println('result--------'+(int)result.get('result'));if (1 == (int)result.get('result')){ entity.setJingdu(Double.valueOf(result.get('lng').toString())); entity.setWeidu(Double.valueOf(result.get('lat').toString())); System.out.println('message-------------------------------'+'lng:'+Double.valueOf(result.get('lng').toString())+', lat:'+Double.valueOf(result.get('lat').toString())); jdjsDao.updateLngAndLatBySenciSpotID(messageVo.getId(), (Double) result.get('lng'), (Double) result.get('lat'));}else { System.out.println('message-------------------------------False');}return false; }3 問題描述

前端調(diào)用 addScenicSpot() 方法,會(huì)將信息保存到數(shù)據(jù)庫中,然后將保存之后的數(shù)據(jù)控中的ID發(fā)送到消息隊(duì)列中,然后訂閱者處理隊(duì)列中的信息,根據(jù) ID 查詢到剛保存的信息,然后調(diào)用外部接口查詢到經(jīng)緯度,并將得到的經(jīng)緯度存儲(chǔ)到數(shù)據(jù)庫中。現(xiàn)在的問題是,保存信息正常,但是到了訂閱者處理這邊,根據(jù)得到的 ID 查找不到保存的信息。

4 猜測(cè)問題所在

產(chǎn)生bug的原因是spring事務(wù)提交晚于消息隊(duì)列的生產(chǎn)消息,導(dǎo)致消息隊(duì)列消費(fèi)消息時(shí)獲取到的數(shù)據(jù)不正確,靈感來自于這里:http://www.cnblogs.com/taocon...

問題解答

回答1:

同步調(diào)用,改為異步調(diào)用?

@AsyncgetGPSFromBaiduAPI

回答2:

已經(jīng)解決了問題了,應(yīng)用的這里的方法:http://www.cnblogs.com/taocon...

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 美女张开腿让男人桶的动态图 | 成人自拍小视频 | 国产真实生活伦对白 | 欧美成人高清手机在线视频 | 欧洲成人免费高清视频 | 久久毛片网站 | 国产视频亚洲 | a级毛片在线看日本 | 超薄肉色丝袜精品足j福利 超级乱淫视频aⅴ播放视频 | 精品久久成人 | 亚洲精品欧美精品一区二区 | a级片在线观看视频 | 亚洲精品亚洲人成在线 | 国产在线精品一区二区不卡 | 欧美一级久久久久久久大片 | 黄色国产网站 | 日本一级特黄啪啪片 | 91av视频| 免费一级成人毛片 | 国产成人精品曰本亚洲 | 欧美大尺度免费一级特黄 | 久久免费在线视频 | 亚洲精品国产综合一线久久 | 久久精品亚洲一区二区 | 国产精品极品美女自在线看免费一区二区 | 精品国产精品国产 | 波多野结衣在线播放 | 国产一级在线 | 成人欧美一区二区三区 | 一区二区在线播放福利视频 | 国产自一区 | 手机看片国产免费永久 | 131美女爱做免费毛片 | 欧美日韩 国产区 在线观看 | 中文在线视频观看 | 天天爽夜夜操 | 亚洲第一网站 | 男女午夜免费视频 | 久久91亚洲精品中文字幕奶水 | 欧美综合视频在线 | 久久久日本久久久久123 |