草庐IT

data-stream

全部标签

java - Spring Data JPA 方法 + REST : Enum to Integer conversion

我有一个端点:/api/offers/search/findByType?type=X哪里X应该是Integer值(我的OfferType实例的序数值),而Spring考虑X一个String并将应用其StringToEnumConverterFactory与StringToEnum转换器。publicinterfaceOfferRepositoryextendsPagingAndSortingRepository{ListfindByType(@Param("type")OfferTypetype);}所以我写了一个自定义Converter它只是通过给定的序号获得一个实例:public

java - 仅使用两个键和奇数或偶数列表索引作为值将 List 转换为 Map - Java 8 Stream

我想将列表转换为map,只使用两个字符串值作为键值。然后作为值只是包含来自输​​入列表的奇数或偶数索引位置的元素的字符串列表。这是旧时尚代码:Map>map=newHashMap();Listlist=Arrays.asList("one","two","three","four");map.put("evenIndex",newArrayList());map.put("oddIndex",newArrayList());for(inti=0;i如何使用流将此代码转换为Java8以获得此结果?{evenIndex=[one,three],oddIndex=[two,four]}我目前

java - Weblogic BEA-000449 : Closing socket as no data read from it during the configured idle timeout of 5 secs

我已经开始在我的weblogic10日志文件中看到这条消息。我正在运行一个大约有40-350个并发用户的应用程序。我的问题是这个错误的真正含义是什么它将如何影响用户(如果有的话)可能是什么原因造成的谢谢 最佳答案 WhatdoesthiserrorreallymeanWeblogic正在关闭用于与其中一个服务器客户端通信的套接字,因为超过五秒没有发送数据,这是您为Weblogic的空闲超时配置的值。Whatcouldbecausingthis客户端程序连接到您的服务器,发送一些数据,然后1)不关闭连接或2)消失。

java - Storm : Spout for reading data from a port

我需要编写一个Storm喷口来从端口读取数据。想知道这在逻辑上是否可行。考虑到这一点,我设计了一个简单的拓扑结构,它具有一个spout和一个bolt。spout将收集使用wget发送的HTTP请求,而bolt将显示请求-仅此而已。我的spout结构如下:publicclassProxySpoutextendsBaseRichSpout{//TheO/PcollectorSpoutOutputCollectorsc;//ThesocketSocketclientSocket;//TheserversocketServerSocketsc;publicProxySpout(intport)

java - 使用 Spring Cloud Stream 将 RabbitMQ 消费者绑定(bind)到现有队列

我使用RabbitMQ网络用户界面创建了一个主题交换TX并绑定(bind)到交换两个队列TX.Q1和TX.Q2,每个都与路由键rk1和rk2相应地绑定(bind),并向交换生成少量消息。现在我想使用SpringCloudStream创建一个消费者,它只会从Q1获取消息。我尝试使用配置:spring.cloud.stream.bindings.input.destination=TXspring.cloud.stream.bindings.input.group=Q1以及消费消息的方法的注解@StreamListner(Sink.INPUT)。结果我可以看到消费者创建了一个同名队列(或绑

java - 为什么不推荐基于 AtomicInteger 的 Stream 解决方案?

假设我有这份水果list:-Listf=Arrays.asList("Banana","Apple","Grape","Orange","Kiwi");我需要为每个水果添加一个序列号并打印出来。水果或序列号的顺序无关紧要。所以这是一个有效的输出:-4.Kiwi3.Orange1.Grape2.Apple5.Banana解决方案#1AtomicIntegernumber=newAtomicInteger(0);Stringresult=f.parallelStream().map(i->String.format("%d.%s",number.incrementAndGet(),i)).

java - 使用 Java Stream API 对数组进行部分降序排序

我需要知道如何使用StreamAPI按降序对原始唯一整数数组进行部分排序。比如有{1,2,3,4,5}这样的数组,我想得到{5,4,3,1,2}-首先是3个最大的元素,然后是其余的。甚至可以使用流吗?我检查了文档-有两种方法skip和limit但它们会更改流内容并从数组的开头开始工作。我可以像这样对整个数组进行排序Arrays.stream(arr).boxed().sorted(Collections.reverseOrder()).mapToInt(Integer::intValue).toArray();但是如何使这个排序部分化呢?我说StreamAPI是因为我希望它写得很好。而

java - Spring Data Elastic Search - 按距离对地理位置进行排序

给定一个地理定位点,我试图找到10公里以内的一些地点,并按离给定位置最近的地点对其进行排序。我设法返回了10公里以内的位置列表,但是当我尝试对其进行排序时,出现了异常:我正在使用以下版本:3.2.12.61.0.0.BUILD-SNAPSHOT3.2.5.RELEASEjava代码如下:publicListfindByGeoLocation(Doublelongitude,Doublelatitude,StringchannelKey,Stringdistance){if(StringUtils.isEmpty(distance)){distance=defaultRadius;}Ge

java - 如何根据 Java 8 Stream 过滤器的输出计算百分比

我想获取一个作业列表(称为resultStream)并计算完全完成的作业的百分比。publicclassJob{privateDatedate;privateStringsuccess;//Getterandsetterandconstructor.}列表包含以下内容:newJob("TODAY","YES");newJob("TODAY","YES");newJob("YESTERDAY","YES");newJob("TODAY","NO");这是我目前的代码:resultStream.stream().parallel().filter(result->{if("YES".con

Java 8 : First use of stream() or parallelStream() very slow - Usage in practice meaningful?

在过去的几天里,我用Java8中的外部迭代、流和并行流进行了一些测试,并测量了执行时间的持续时间。我还阅读了我必须考虑的预热时间。但是还有一个问题。当我第一次对集合调用方法stream()或parallelStream()时,执行时间比外部迭代长。我已经知道,当我在同一集合上更频繁地调用stream()或parallelStream()并计算执行时间时,parallelStream()确实比外部迭代更快。但是由于在实践中一个集合通常也只迭代一次,所以我只看到使用流或并行流的缺点。所以我的问题是:如果我只迭代一次集合,使用流或parallelStream()是个好主意,还是执行时间总是比