并发数据库访问给出 IllegalStateException

2024-03-19

我正在尝试为 1 个方法生成一个线程。我得到一个IllegalStateException(见下文)。该方法的作用是接受与数据库的连接和数据库名称,并从中生成 XML。 (这部分有效,我只是想用一个新线程让它运行得更快,因为我有多个 XML 文件要创建。

    Thread table = new Thread(new Runnable() {
    public void run() {
    try {
     System.out.println("starting");
     tableXml(tableConn, dbName);
     System.out.println("ending");
     }
     catch (Exception e) {
      // TODO Auto-generated catch block
        e.printStackTrace();
      }
  }
});

    table.start();

例外:

java.lang.IllegalStateException: Current state = RESET, new state = FLUSHED
    at java.nio.charset.CharsetEncoder.throwIllegalStateException(CharsetEncoder.java:951)
    at java.nio.charset.CharsetEncoder.flush(CharsetEncoder.java:640)
    at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:769)
    at com.informix.lang.JavaToIfxType.doConversion(JavaToIfxType.java:841)
    at com.informix.lang.JavaToIfxType.JavaToIfxChar(JavaToIfxType.java:145)
    at com.informix.jdbc.IfxVarChar.toString(IfxVarChar.java:247)
    at com.informix.jdbc.IfxResultSet.getString(IfxResultSet.java:742)
    at com.informix.jdbc.IfxResultSet.getString(IfxResultSet.java:785)
    at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:225)
    at com.test.ex.ExportTask$1.run(ExportTask.java:151)
    at java.lang.Thread.run(Thread.java:662)

导致异常的代码行是resultSet.executeQuery();

所以问题是:我做错了什么?

感谢您的帮助,如果您需要信息,请告诉我


看来问题是因为你的代码不是线程安全的。尝试为生成的每个新线程提供其自己的连接,而不是在应用程序中的所有线程之间共享单个连接的引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

并发数据库访问给出 IllegalStateException 的相关文章

  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • Mockito 使用 @Mock 时将 Null 值注入到 Spring bean 中?

    由于我是 Spring Test MVC 的新手 我不明白这个问题 我从以下代码中获取了http markchensblog blogspot in search label Spring http markchensblog blogsp
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 不可变的最终变量应该始终是静态的吗? [复制]

    这个问题在这里已经有答案了 在java中 如果一个变量是不可变的并且是final的 那么它应该是一个静态类变量吗 我问这个问题是因为每次类的实例使用它时创建一个新对象似乎很浪费 因为无论如何它总是相同的 Example 每次调用方法时都会创
  • Spring @Cacheable 和 @Async 注解

    我需要缓存一些异步计算的结果 具体来说 为了克服这个问题 我尝试使用 Spring 4 3 缓存和异步计算功能 作为示例 我们采用以下代码 Service class AsyncService Async Cacheable users C
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp

随机推荐

  • Ms SQL geography.STDistance 返回错误的距离

    我正在尝试查询距另一个位置指定距离内的任何位置 查询不是问题 而是 geography STDistance 返回的距离有问题 它似乎STDistance对靠近赤道的位置进行相当准确的计算 但我需要它与北欧国家的位置一起工作 挪威 瑞典 芬
  • Microsoft.Azure.Mobile 客户端 - 使用自定义 IMobileServiceSyncHandler 处理服务器错误 - Xamarin Forms

    我已经根据 Microsoft 提供的文档 示例实现了 Azure 离线同步Sample https github com Azure azure mobile apps quickstarts blob master client xam
  • PHP 尝试安全发送邮件 - 找不到 PHPMailer 类

    我从以下几点开始 composer require phpmailer phpmailer 随后放置一次 require require once vendor autoload php Then mail new PHPMailer 这就
  • 在表格中显示*

    我有2张桌子 一个称为用户 另一个称为电视节目 用户表有 users id 显示名称 用户名和密码 我有一个名为 users id 的外键 在电视节目表中我有 tv id users id FK tvshow seasons 我希望能够显示
  • Android:通知中的新信息替换旧信息

    来自文档 http developer android com reference android app NotificationManager html notify 28java lang String 20int 20android
  • 每当我的邮件在 phpmailer 中变成垃圾邮件时

    这是我发送邮件的代码 fullname POST fullname email POST email telephone POST telephone email POST email date POST date time POST ti
  • 从查询字符串中检索值?

    如何在 JSP 中使用表达式语言检索查询字符串参数的值
  • “对于聚合函数无效的范围参数”是什么意思?

    表达方式 FormatNumber Avg CInt Code FirstSplit Fields AvgLOSC4 Value 0 0 当我尝试在 SSRS 管理器中更新报告时 会出现以下错误消息 文本框 textbox16 的值表达式具
  • 当在 tmux 会话中打开的 vim 进程上移动光标时,为什么它时不时地会留下幽灵字符的痕迹 - ^[OB,^[OA?

    如果我向上翻页和向下翻页 这些就会消失 为什么会发生这种情况以及如何纠正 https i stack imgur com DnMYl png https i stack imgur com DnMYl png 我最近摆弄了我的 vimrc
  • 如何使用 CodeDOM 在 AppDomain 中创建和加载程序集?

    我正在开发一个项目 该项目将使用 CodeDOM 创建一个类 该类计算用户定义的表达式 为该类创建程序集并加载该程序集 由于可能有相当数量的用户定义表达式 我想首先创建一个 AppDomain 执行 CodeDOM 创建 加载并执行该 Ap
  • 如何在 OpenLayers 4 上添加点击事件?

    我需要将事件侦听器附加到 OpenLayers 4 中的功能 我已经尝试过feature on 点击 function 但它不起作用 如何将晒黑事件添加到功能中 先感谢您 没有click为功能注册的事件ol Feature目的 但click
  • 包含第一个元素的反转数组切片[重复]

    这个问题在这里已经有答案了 假设我有 gt gt gt a 1 2 3 4 我想要一个反转的切片 假设我想要给出第 1 个和第 0 个元素start idx 1 and stop idx 0 2 1 使用切片符号 a x y z 我用什么值
  • 音乐播放列表数据库设计

    如何构建歌曲和播放列表的表格 我的想法是创建一个播放列表标题和 id 的表 然后创建一个播放列表歌曲表 其中保存歌曲的唯一 id 及其所属的播放列表 另一个为每个播放列表规划一个新表 并将播放列表的歌曲信息存储在每个表中 这是一个好方法还是
  • GenyMotion 无法启动 Genymotion 虚拟设备

    当我运行 Genymotion 时 出现以下错误 无法启动 Genymotion 虚拟设备 无法为虚拟设备配置网络适配器 请检查以下几点 在 VirtualBox 中 在软件的主要参数中 检查是否存在 Host only 网络适配器 在 V
  • C 字符值算术

    我一直在阅读 C 编程语言 一书来学习 C 我偶然发现了算术s i 0 他们说它给出了存储在 s i 中的字符的数值 我不太明白 它怎么能通过减法给出值呢 注意 这用在 atoi 函数中 该函数将数字字符串转换为其等价的数字 谢谢 可能重复
  • 如何通过命令行关闭Android模拟器

    我无法从命令提示符正常停止模拟器 我使用的是 Linux Ubuntu v10 04 64 位 和 Android v2 3 API 9 Gingerbread 我使用其快照启动了模拟器 现在我关心的是优雅地关闭正在运行的模拟器实例 我尝试
  • 手机应用程序设计指南[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有包含创建移动电话应用程序的设计指南的文档或文章 如何构建应用程序以获得理想的用户体验 用户界面和键
  • 通过API重置登录cookie

    我想知道是否有任何方法可以通过API重置登录cookie 我知道如何通过管理中的设置来做到这一点 切换changePasswordAtNextLoginG Suite 用户的标记将其从所有设备中注销 使changePasswordAtNex
  • 如何使用 JsTestDriver 测试 jquery 和 ajax 调用?

    我有一个用 jQuery 构建的动态页面 Html 片段加载自mustache http mustache github com 模板 这些模板是从 URL 下载的 我想对整个 html 结构进行单元测试 JsTestDriver 测试是
  • 并发数据库访问给出 IllegalStateException

    我正在尝试为 1 个方法生成一个线程 我得到一个IllegalStateException 见下文 该方法的作用是接受与数据库的连接和数据库名称 并从中生成 XML 这部分有效 我只是想用一个新线程让它运行得更快 因为我有多个 XML 文件