如何使用java并行流而不是executorThreadsPool?

我想编写一个测试,对我的API执行许多并行调用。 ExecutorService executor = Executors.newCachedThreadPool(); final int numOfUsers = 10; for (int i = 0; i { final Device device1 = getFirstDevice(); final ResponseDto responseDto = devicesServiceLocal.acquireDevice(device1.uuid, 4738); if (responseDto.status == Status.SUCCESS) { successCount.incrementAndGet(); } }); } 我知道我可以使用executorThreadsPool来做到这一点,如下所示: devicesList.parallelStream() .map(device -> do something) 我可以用java8并行流创建它: 我怎么能在一台设备上做到这一点? 这意味着我很少想要获得相同的设备。 像这样的东西: {{device}}.parallelStream().execute(myAction).times(10)

Java:显示客户端IP和端口号

您好我已经写了一个小的UDP服务器程序。 我知道使用以下代码显示主机IP的代码很简单: System.out.println(“Listening Port: ” + serverSocket.getLocalPort()); System.out.println(“IP: ” + myIp.getHostAddress()); 有没有办法显示连接到服务器的客户端的IP和端口号?

Java:使用颜色操作(加,减)? – 恒定类中的颜色

我正在使用java.awt.Color实例。 有没有办法对颜色进行算术运算? 像rgb(20, 20, 20) + rgb(10, 200, 170) = rgb(30, 220, 190) ? 我正在尝试做的事情:我有一个带有桌子的gui,如果用户点击一个单元格,其他单元格会根据它们与所选单元格的关系改变颜色。 我正在寻找一种方法来避免硬编码基色是什么,以及它们改变的颜色值。 因此,所选单元格可能是rgb(255, 0, 0) ,其他所有内容可能基于它们的值在rgb(0, 0, 0)和rgb(0, 255, 0) 。 我在想…枚举? import java.awt.Color; public enum ColorConstant { SELECTED (new rgb(255, 0, 0), “Red”), MAX_DISTANCE (new rgb(0, 255, 0), “Green”) private Color shade; private ??? whichColorToModify; }

Tomcat在URL中添加,Struts无法获取正确的动作名称?

我有这个项目在Jetty工作正常,最近根据要求,我在Tomcat上测试它,但我发现了一个问题。 我们正在使用Struts2,并且动作映射定义为没有扩展名,例如http://www.somehost.com/projectname/home 当我将所有内容部署到Tomcat并访问上面的url时,我收到此错误: “There is no Action mapped for namespace [/] and action name [home/]” 很明显Tomcat在url上添加了一个额外的/ ,所以struts认为动作名称是home/而不是home 。 如果我将动作配置从home更改为home/ ,它可以正常工作。 但是我不想用额外的/更改每个动作映射,应该有更好的解决方案,任何人都可以帮助我吗? 这是我的动作配置: home.default home 它是在/ package下配置的,当没有任何变化时,我得到了404,如果我在上面更改为: home.default home 然后它工作。

为什么EOFException主要由数据输入流使用?

来自Java API 公共类EOFException扩展了IOException 表示在输入期间意外到达文件末尾或流末尾的信号。 此exception主要由数据输入流用于信号流的结束。 请注意, 许多其他输入操作在流的末尾返回特殊值而不是抛出exception。 那么为什么数据输入流与其他输入操作有如此不同呢? 为什么它不像其他输入操作那样返回特殊值来表示流的结束? 因为我认为exception只应用于非常特殊的情况。

ant – uptodate任务:仅重新生成过时的文件

我是ant的新手,而且习惯于Makefiles。 在一个项目中,名为Message_zh.class等的i18n语言模块是在每次编译时无条件地从zh.po等构建的,尽管它们已经存在,这浪费了很多时间。 我认为这些是build.xml的相关部分: 目标构建语言类依赖于编译目标,因此,每次编译时,整个字符串都会再次被msgfmted。 如果1. po文件被更改,或者2.类文件不存在,应如何编写以调用msgfmt? 如果没有进一步的软件,我会很高兴。 你能帮我指点一个例子吗? 第一次尝试解决方案对ant的行为没有区别: 这有什么不对?

解析的SOAP响应与接收的响应不同

我试图解析SOAP响应。 我可以使用以下行显示完整的响应。 System.out.println(“Response: ” + out.toString()); 但是,当我解析响应并对解析后的响应进行编组时,它会显示错误的响应。 package-info.java @XmlSchema( namespace = “http://v3.hotel.wsapi.ean.com/”, elementFormDefault = XmlNsForm.QUALIFIED) package com.ean; import javax.xml.bind.annotation.XmlNsForm; import javax.xml.bind.annotation.XmlSchema; 我的代码 @XmlRootElement(name=”getListResponse”) @XmlAccessorType(XmlAccessType.FIELD) public class GetListResponse { @XmlElement(name=”HotelListResponse”) private HotelListResponse hotelListResponse; public GetListResponse() { this.hotelListResponse = new HotelListResponse(); } …getter and setter } @XmlRootElement(name =”HotelListResponse”) @XmlAccessorType(XmlAccessType.FIELD) public class HotelListResponse { @XmlElement(name = “customerSessionId”) String […]

MapReduce查找字长频率

我是MapReduce的新手,我想问一下是否有人可以使用MapReduce给我一个执行字长的频率的想法。 我已经有了字数的代码但是我想使用字长,这是我到目前为止所拥有的。 public class WordCount { public static class Map extends Mapper { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) { word.set(tokenizer.nextToken()); context.write(word, one); } […]

无法使用XML文件。 InputStream为null

我在这做错了什么? 我收到错误,输入流中没有任何内容,但事实并非如此。 文件在那里,标题正确。 我想抓住我放在XML文件中的IP地址。 是否有更好的方法来解析文件而不是dBuilder.parse(XMLReader.class.getResourceAsStream(“C:\\Tools\\CLA\\test.xml”)); ? 我遇到了这个例外: Caused by: java.lang.IllegalArgumentException: InputStream cannot be null at javax.xml.parsers.DocumentBuilder.parse(Unknown Source) at com.Intel.ameier.XMLparser.TryXML(XMLparser.java:17) 这是代码: import java.io.IOException; import org.xml.sax.*; import org.w3c.dom.*; import javax.xml.parsers.*; public class XMLparser { protected void TryXML() throws ParserConfigurationException, SAXException, IOException{ DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = builderFactory.newDocumentBuilder(); Document document = dBuilder.parse(XMLReader.class.getResourceAsStream(“C:\\Tools\\test.xml”)); document.normalize(); NodeList rootNodes = […]

LDAP多个或语法

我希望这对任何LDAP专家来说都是一个简单的问题。 我正在使用java,SearchDirContext和一个字符串构建器来组合一个看起来像的查询: (|(givenName=smith*)(sn=smith*)(middleName=smith*)(mail=smith*)(telephoneNumber=smith*)(buildingName=smith*)(department=smith*)(major=smith*)(minor=smith*)) 。 这个想法是允许用户使用单个字符串进行搜索并获得与任何这些属性匹配的结果。 查询成功完成但结果不准确。 例如,如果我搜索自己(我知道我的记录存在)…… 按姓氏我没有结果 通过名字(应该有数百个结果)我得到一个小子集(9),不包括我的条目。 我想首先消除我的查询问题的任何可能性,如果你想要更多的信息/代码执行代码的snippits告诉我,我可以提供它。 另外请记住,我是一个正确做事的强烈倡导者,我愿意修改我的代码的任何部分,以提高效率。 ——————-(编辑)所以语法正确….(编辑)—————- —- 这是我的查询的一些代码,也许这可以确定我的结果是否被截止。 try { context = ldapPooler.getContext(); // Returns a custom SearchDirContext object wrapping a javax.naming.DirContext. SearchControls controls = new SearchControls(); controls.setCountLimit(maxResultCount); Integer resultCount = 0; // They try block is from an example found at // http://www.java2s.com/Code/Java/JNDI-LDAP/howtoperformasearchandlimitthenumberofresultsreturned.htm // The goal was to […]