草庐IT

data-stream

全部标签

java - 通过 Streams 并行执行多个查询

我有以下方法:publicStringgetResult(){ListserversList=getServerListFromDB();ListappList=getAppListFromDB();ListuserList=getUserFromDB();returngetResult(serversList,appList,userList);}在这里,我依次调用三个方法,依次访问数据库并获取结果,然后对从数据库访问中获得的结果进行后处理。我知道如何通过使用Threads同时调用这三种方法。但我想使用Java8ParallelStream来实现这一点。有人可以指导我如何通过并行流实

java - onSave()(对于使用 Hibernate/Spring Data Repositories 保存的任何实体)

如果我的实体有计算字段,应该在保存到数据库之前更新(dbinsert或update),如何在Hibernate或SpringDataRepositorysave()之前Hook方法调用? 最佳答案 我认为对你来说最好的选择是EntityListener使用@PrePersist和@PreUpdate注释,为你的实体监听器创建配置您将可以访问要保存的每个实例,每次您尝试使用hibernate或spring数据存储库保存或更新某些内容时都会调用此方法publicclassEntityToPersistListener{@PrePersi

java - Spring Data Mongo @Column 等效注解(@Property?)

是否有与JPA@Column注释等效的SpringDataMongo?基本上,我有一个POJO,它有一个属性,我想用不同的名称存储在Mongo中。因此,以下对象:publicclassPojo{@Property("bar")privateStringfoo="HelloWorld";}将被持久化为:{"_class":"com.example.Pojo","bar":"HelloWorld"}注意:我不想使用MappingMongoConverter明确地执行此操作 最佳答案 Spring数据referencedocumentat

Java 8 流 IllegalStateException : Stream has already been operated on or closed

我正在尝试使用StreamAPI生成Order实例。我有一个创建订单的工厂函数,一个DoubleStream用于初始化订单金额。privateDoubleStreamdoubleStream=newRandom().doubles(50.0,200.0);privateOrdercreateOrder(){returnnewOrder(doubleStream.findFirst().getAsDouble());}@Testpublicvoidtest(){StreamorderStream=Stream.generate(()->{returncreateOrder();});or

java - 使用 Collection.stream 按特定属性动态分组

我正在尝试使用Java8Collection-Stream按多个属性对对象列表进行分组。这很好用:publicclassMyClass{publicStringtitle;publicStringtype;publicStringmodule;publicMyClass(Stringtitle,Stringtype,Stringmodule){this.type=type;this.title=title;this.module=module;}}Listdata=newArrayList();data.add(newMyClass("1","A","B"));data.add(new

java - Hibernate 4.3.0.Final 和 Spring Data JPA 1.4.3.RELEASE

我是第一次尝试设置和使用SpringData。当然,您会希望使用最新版本(SpringDataJPA1.4.3.RELEASE和Hibernate4.3.0.Final)。按照在线示例配置后,应用程序抛出异常。org.springframework.dataspring-data-jpa1.4.3.RELEASEorg.hibernatehibernate-coreHibernate4.3.0.Finalcommons-collectionscommons-collectionsorg.hibernatehibernate-search4.4.2.Finalorg.hibernateh

java - 嵌套属性上的 @Indexed 在 mongo 的 Spring-data 中不起作用

我有以下对象结构:@Document(collection="user")@TypeAlias("user")publicclassUser{@IdprivateObjectIdid;privateContactinfo=newContact();}这是联系人pojo:publicclassContact{@Indexed(unique=true)privateStringmail;}但是由于某些我不知道的原因,我没有看到Spring-data为info.mail属性创建唯一索引总而言之,我有用户对象的这个json结构:{_id:xxxxx,info:{mail:"abc@xyz.sh

java - Arrays.stream(array) 与 Arrays.asList(array).stream()

在this问题已经回答了两个表达式是相等的,但在这种情况下它们会产生不同的结果。对于给定的int[]分数,为什么会这样:Arrays.stream(scores).forEach(System.out::println);...但这不是:Arrays.asList(scores).stream().forEach(System.out::println);据我所知,.stream()可以在任何集合上调用,列表肯定是。第二个代码片段只返回一个包含整个数组而不是元素的流。 最佳答案 您看到的行为并非特定于Stream秒。Arrays.a

java - 提高 Lombok @Data 代码覆盖率

我正在为我的项目编写单元测试,并试图实现至少80%的代码覆盖率。问题是我正在使用lombok的@Data注释来生成getter和setter,当我运行我的单元测试时,所有这些getter和setter以及其他方法,如toString,equals、hashcode等都被遗漏了,我的代码覆盖率受到了影响。有没有解决方法。我一直在搜索这方面的很多东西,但一直找不到任何可以提供帮助的东西。如有任何帮助,我们将不胜感激。我正在使用Eclemma进行代码覆盖率分析。 最佳答案 在0.8.0release,Jacoco添加了对从他们的报告中过滤

java - 卡夫卡 : Cant Create Multiple Stream Consumers

我刚刚启动并运行了Kafka0.8beta1。我有一个非常简单的示例启动并运行,问题是,我只能让一个消息消费者工作,而不是几个。也就是说,runSingleWorker()方法有效。run()方法不起作用:importkafka.consumer.ConsumerIterator;importkafka.consumer.KafkaStream;importkafka.consumer.ConsumerConfig;importkafka.javaapi.consumer.ConsumerConnector;importjava.util.Map;importjava.util.Lis