当前位置: 首页 > news >正文

销售机械设备做网站服装定制网站的设计与实现

销售机械设备做网站,服装定制网站的设计与实现,完美代码网站,网络营销师报名官网spring jpa 流式这篇文章详细介绍了从数据库到对该数据感兴趣的任何其他组件进行流更新的幼稚实现。 更准确地说#xff0c;如何更改Spring Data R2DBC存储库以向相关订阅者发出事件。 对R2DBC和Spring的一点背景知识将对这篇文章有所帮助。 我以前的著作《 使用 Microsoft S… spring jpa 流式 这篇文章详细介绍了从数据库到对该数据感兴趣的任何其他组件进行流更新的幼稚实现。 更准确地说如何更改Spring Data R2DBC存储库以向相关订阅者发出事件。 对R2DBC和Spring的一点背景知识将对这篇文章有所帮助。 我以前的著作《 使用 Microsoft SQL Server的 Spring Data R2DBC和Spring Data R2DBC进行 异步RDBMS访问》在这方面应该有所帮助。 如前所述这将是一个幼稚的实现。 因此代码将不会花哨。 为此我劫持了SimpleR2dbcRepository以创建一个存储库实现该存储库实现在每次保存新记录时都会发出事件。 新事件将添加到DirectProcessor 并发送到订阅它的任何Publisher 。 看起来像 class PersonRepository(entity: RelationalEntityInformationPerson, Int,databaseClient: DatabaseClient,converter: R2dbcConverter,accessStrategy: ReactiveDataAccessStrategy ) : SimpleR2dbcRepositoryPerson, Int(entity, databaseClient, converter, accessStrategy) {private val source: DirectProcessorPerson DirectProcessor.createPerson()val events: FluxPerson sourceoverride fun S : Person save(objectToSave: S): MonoS {return super.save(objectToSave).doOnNext(source::onNext)} } 来自SimpleR2dbcRepository唯一需要重写的函数是save saveAll委托来save 。 doOnNext添加到原始保存调用中该调用通过调用onNext将新事件推送到source DirectorProcessor 。 source被强制转换为Flux以防止来自存储库外部的类添加新事件。 从技术上讲他们仍然可以添加事件但是他们需要自己进行转换。 您可能已经注意到存储库正在加载参数并将其传递到SimpleR2dbcRepository 。 存储库的一个实例需要手动创建因为它的某些依赖项无法自动注入 Configuration class RepositoryConfiguration {Beanfun personRepository(databaseClient: DatabaseClient,dataAccessStrategy: ReactiveDataAccessStrategy): PersonRepository {val entity: RelationalPersistentEntityPerson dataAccessStrategy.converter.mappingContext.getRequiredPersistentEntity(Person::class.java) as RelationalPersistentEntityPersonval relationEntityInformation: MappingRelationalEntityInformationPerson, Int MappingRelationalEntityInformation(entity, Int::class.java)return PersonRepository(relationEntityInformation,databaseClient,dataAccessStrategy.converter,dataAccessStrategy)} } 至此所有内容都已设置好并可以使用。 以下是其工作的示例 personRepository.events.doOnComplete { log.info(Events flux has closed) }.subscribe { log.info(From events stream - $it) } // insert people records over time MARVEL_CHARACTERS.toFlux().delayElements(Duration.of(1, SECONDS)).concatMap { personRepository.save(it) }.subscribe() 哪个输出 29-08-2019 09:08:27.674 [reactor-tcp-nio-1] From events stream - Person(id481, nameSpiderman, age18) 29-08-2019 09:08:28.550 [reactor-tcp-nio-2] From events stream - Person(id482, nameIronman, age48) 29-08-2019 09:08:29.555 [reactor-tcp-nio-3] From events stream - Person(id483, nameThor, age1000) 29-08-2019 09:08:30.561 [reactor-tcp-nio-4] From events stream - Person(id484, nameHulk, age49) 29-08-2019 09:08:31.568 [reactor-tcp-nio-5] From events stream - Person(id485, nameAntman, age49) 29-08-2019 09:08:32.571 [reactor-tcp-nio-6] From events stream - Person(id486, nameBlackwidow, age34) 29-08-2019 09:08:33.576 [reactor-tcp-nio-7] From events stream - Person(id487, nameStarlord, age38) 29-08-2019 09:08:34.581 [reactor-tcp-nio-8] From events stream - Person(id488, nameCaptain America, age100) 29-08-2019 09:08:35.585 [reactor-tcp-nio-9] From events stream - Person(id489, nameWarmachine, age50) 29-08-2019 09:08:36.589 [reactor-tcp-nio-10] From events stream - Person(id490, nameWasp, age26) 29-08-2019 09:08:37.596 [reactor-tcp-nio-11] From events stream - Person(id491, nameWinter Soldier, age101) 29-08-2019 09:08:38.597 [reactor-tcp-nio-12] From events stream - Person(id492, nameBlack Panther, age42) 29-08-2019 09:08:39.604 [reactor-tcp-nio-1] From events stream - Person(id493, nameDoctor Strange, age42) 29-08-2019 09:08:40.609 [reactor-tcp-nio-2] From events stream - Person(id494, nameGamora, age29) 29-08-2019 09:08:41.611 [reactor-tcp-nio-3] From events stream - Person(id495, nameGroot, age4) 29-08-2019 09:08:42.618 [reactor-tcp-nio-4] From events stream - Person(id496, nameHawkeye, age47) 29-08-2019 09:08:43.620 [reactor-tcp-nio-5] From events stream - Person(id497, namePepper Potts, age44) 29-08-2019 09:08:44.627 [reactor-tcp-nio-6] From events stream - Person(id498, nameCaptain Marvel, age59) 29-08-2019 09:08:45.631 [reactor-tcp-nio-7] From events stream - Person(id499, nameRocket Raccoon, age30) 29-08-2019 09:08:46.637 [reactor-tcp-nio-8] From events stream - Person(id500, nameDrax, age49) 29-08-2019 09:08:47.639 [reactor-tcp-nio-9] From events stream - Person(id501, nameNebula, age30) 每秒保存一条记录该记录与从存储库发出的事件相匹配。 请注意 doOnComplete事件永远不会触发。 源永远不会关闭因此永远不会向其任何订户发出完成事件。 至少在此基本实现中这就是全部。 我敢肯定还有很多事情可以做但是我首先需要弄清楚该怎么做……总而言之加上一些补充您可以将插入数据库的数据流式传输到对记录感兴趣的组件被添加。 翻译自: https://www.javacodegeeks.com/2019/09/streaming-live-updates-reactive-spring-data-repository.htmlspring jpa 流式
http://www.zqtcl.cn/news/776233/

相关文章:

  • 网站分为哪几类上海人才网官网招
  • 网站建设的常见技术有哪些方面网站联系我们模块怎么做
  • 外贸网站建设专业上海四大设计院是哪四个
  • 太原网站设计排名维启网站建设
  • 电子商务网站建设基本流程图网站建设推广策划
  • 合肥集团网站建设哪个好果洛电子商务网站建设哪家好
  • 顺德高端网站企业建设网站没有服务器
  • .net网站开发模板天津手网站开发
  • 网页设计大赛网站开发重庆最近的新闻大事10条
  • 网站ftp用户名和密码是什么建设单位网站设计
  • 公司请人做的网站打不开网页游戏大厅都有哪些
  • 网投网站制作中国建设教育协会报名网站
  • 做外贸需要做网站吗上海中建建筑设计院有限公司
  • 网站源代码免费下载苏州seo网络优化公司
  • 建网站跟建网店的区别pico笔克品牌介绍
  • 网站设计小技巧西安网站建设网站
  • 做听书网站怎么做网站留言板带后台模板
  • 石家庄网站建设王道下拉棒厦门橄榄网站建设
  • 赤峰网站建设培训建筑资格证书查询官网
  • 共和县公司网站建设seo网络推广招聘
  • 网站怎样做外链百度网站地图提交
  • 瑞安联科网站建设中国做网站公司排名
  • jsp网站开发详解 赵增敏jsp网站首页怎么做
  • 有哪些可以做图的网站啊莱芜金点子广告电子版2024
  • 免费营销型网站模版南宁比较有好的网站制作公司
  • 做外贸上什么网站什么什么设计英文网站
  • 嘿客免费网站建设网站对联图片
  • 一件代发48个货源网站韶关最新消息
  • 网站都需要备案吗安徽建设通网站
  • 外包公司 网站建设 深圳电子商务公司设计网站建设