- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的基于 JDMK 的应用程序在 com.sun.jdmk.comm.HttpSendSocket 的第 313 行间歇性出现 IOException,我不明白为什么。我从 Javadoc 中了解到的是,如果在创建输入流时发生 I/O 错误,您将收到 IOException,但我不知道发生了哪种 I/O 错误或为什么会发生。该代码实际上在该错误发生之前和之后都有效。
任何有关如何调试此间歇性问题的提示将不胜感激。
我不想在此处粘贴 HttpSendSocket 的源代码,因为它不属于我,但我知道当抛出 IOException 异常时,它正在执行 HttpURLConnection conn.getInputStream() 。
我想过尝试创建我自己的 HttpSendSocket 版本,并在其中添加诊断,但不知道如何实现,因为它是一个受包保护的类。
堆栈跟踪如下:
com.sun.jdmk.comm.CommunicationException: java.io.IOException: HTTP request failed
at com.sun.jdmk.comm.HttpSendSocket.readNotify(HttpSendSocket.java:313)
at com.sun.jdmk.comm.HttpSendInputStream.read(HttpSendInputStream.java:95)
at java.io.FilterInputStream.read(FilterInputStream.java:94)
at java.io.PushbackInputStream.read(PushbackInputStream.java:150)
at com.sun.jdmk.comm.GenericHttpConnectorClient.sendHttp(GenericHttpConnectorClient.java:486)
at com.sun.jdmk.comm.GenericHttpConnectorClient.invokeRemoteOperation(GenericHttpConnectorClient.java:2234)
at com.sun.jdmk.comm.GenericHttpConnectorClient.invoke(GenericHttpConnectorClient.java:1366)
正如我所说,任何有用的建议将不胜感激。
最佳答案
通信异常是由于使用ArrayList方法subList引起的。 ArrayList 是可序列化的,但 subList 数据不可序列化,因此您无法通过 HttpConnector 检索数据。解决方案是更改:
List<UserProcessInfo> values = new ArrayList<UserProcessInfo>();
...
values.size() <= 1000 ? values : values.subList(0,1000);
至:
List<UserProcessInfo> values = new ArrayList<UserProcessInfo>();
...
return values.size() <= 1000 ? values : new ArrayList<UserProcessInfo>(values.subList(0,1000));
关于java - 我如何知道为什么我在 com.sun.jdmk.comm.HttpSendSocket 的第 113 行收到 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22391903/
我正在运行服务器应用程序并访问数据库进行操作,尽管我已在项目中配置了 javax.comm.properties,但我还是收到了错误 javax.comm: Can't find javax.com
嗨,我正在尝试读取 com 端口,因此我将库添加到我的 java 目录中,例如 they wrote here但是当我写出像这样的简单代码时 import java.util.Enumeration;
我刚刚翻译了这个程序, #include int dam[1000][1000]; int main (int argc, const char * argv[]) { // insert
我正在尝试编写一个可以从 COMM 端口读取数据的 Android 应用程序。我正在关注本教程:http://www.java-samples.com/showtutorial.php?tutoria
我有一个使用 javax.comm 从 com 端口读取数据的应用程序。 我遇到的问题是,如果我正在读取的设备意外断开连接,我会在控制台中收到错误消息“WaitCommEvent:错误 5” 我环顾四
我正在尝试使用 comm 命令比较两个日志,以查看哪些应用程序已安装但未删除。以下是文件示例: 已安装: 2009-03-21 11:43:21 install flex-old:amd54 3.7
我需要安装 netbeans 6.8 才能支持串行端口吗? import javax.comm*; 在我的 netbeans 5.5.1 中出现错误...实际问题可能是什么? 我从以下位置下载了 co
我正在制作一个 Java ECG 软件,它需要能够通过串行通信与 ECG 进行通信。然而,java API javax.comm 却找不到。我搜索过Oracle但没有任何下载链接。 有谁知道在哪里可以
我制作了一个通过 rs232 连接到设备的程序。我在运行 Windows Vista 的笔记本电脑上使用带有 Java Comms 的 Java 1.7 运行它。我正在使用多产的 USB 转串口适配器
我正在尝试使用 comm 来计算两个排序文件之间的差异,但是结果没有意义,出了什么问题?我想显示test2中存在但test1中不存在的字符串,然后显示test1中存在但test2中不存在的字符串 >t
我编写了一个通过 rs232 连接到设备的程序。一切都工作得很好,直到我关闭连接并尝试从同一应用程序再次重新打开它。我收到以下异常: javax.comm.PortInUseException: Po
我使用了 javax.comm 库,但它在 x64 系统上不起作用,所以我尝试了 rxtx。我已将 rxtxSerial 和 rxtxParallel dll 文件放入 C:\Program File
我在使用 comm.jar 时遇到问题。 问题是我连接了设备,并使用此代码在池中启动了应用程序 public static void main(String[] args) { En
鉴于下面的输出(简化)是从保存在两个不同文件中的两个 curl -I 命令的比较中提取的,我正在寻找在脚本中突出显示以下场景的最佳方法: 这个标题只存在于 file1.txt 但这个不存在 这两种情况
我想比较两个非常大的文件(多 GB),使用 linux 命令行工具,并查看差异的行号。数据的顺序很重要。 我在 Linux 机器上运行,标准 diff 工具给我“内存耗尽”错误。 -H 没有影响。 在
我有两个 ID 列表,我正在使用 comm 命令进行比较。我的问题是输出看起来像这样: YAL002W YAL003W YAL004W YAL005C
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Where can I get to download Java comm api? 我正在寻找用于下载 S
我用这个命令比较两个文件 comm -13 file1 file2 它工作得很好,并告诉我差异。但我还想向我展示行号(在第二个文件中唯一的行)。 文件 1: a d e f g 文件2: a b c
我正在尝试从 Jupyter 笔记本中的 javascript 中的 python 单元访问数据。我正在使用 Jupyter 的 Comm 功能。以下 HTML 单元设置为提供 d3js 以及 d3
我正在编写一个简单的 python 脚本来测试 mpi4py。具体来说,我想从给定的处理器(例如 rank 0)广播一个标量和一个数组,以便所有其他处理器都可以在后续步骤中访问广播的标量和数组的值。
我是一名优秀的程序员,十分优秀!