Java 7 Update 25 的 rmi 线程中的 AppContext 为 null

2023-11-22

我们最近从 Update 21 更新到 Java 7 Update 25,并且现在在从 rmi 线程调用 SwingUtilities.isEventDispatchThread() 时遇到空指针异常,因为 AppContext.getAppContext() 返回 null。

java.lang.NullPointerException 位于 sun.awt.SunToolkit.getSystemEventQueueImplPP(来源未知)位于 sun.awt.SunToolkit.getSystemEventQueueImplPP(来源未知)位于 sun.awt.SunToolkit.getSystemEventQueueImpl(来源未知)位于 java.awt.Toolkit.getEventQueue(来源未知)位于 java.awt.EventQueue.isDispatchThread(来源未知)位于 javax.swing.SwingUtilities.isEventDispatchThread(来源未知)位于 ... ... 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 处 sun.reflect.NativeMethodAccessorImpl.invoke(来源未知)位于 sun.reflect.DelegatingMethodAccessorImpl.invoke(来源未知)位于 java.lang.reflect.Method.invoke(来源未知)位于 sun.rmi.server.UnicastServerRef.dispatch(来源未知)位于 sun.rmi.transport.Transport$1.run(来源不明)位于 sun.rmi.transport.Transport$1.run(来源不明)位于 java.security.AccessController.doPrivileged(本机方法)位于 sun.rmi.transport.Transport.serviceCall(来源未知)位于 sun.rmi.transport.tcp.TCPTransport.handleMessages(来源未知)位于 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(未知 来源)于 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(未知 来源)位于 java.util.concurrent.ThreadPoolExecutor.runWorker(未知 来源)位于 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知 来源)位于 java.lang.Thread.run(来源未知)

此错误仅在 Web 启动时出现,当我们通过 IDE 运行应用程序时,就没有问题。

还有其他人遇到过这个吗?您知道 AppContext 的最新更新中发生了什么变化吗?

更新后,其他人似乎遇到了与 AppContext 相关的问题:https://forums.oracle.com/message/11077767#11077767


我在 Java3D 作为 Java Web Start 运行时遇到了同样的问题。我找到了另一个解决方案。您必须准备自己的 InvokeLaterProcessor 和可运行队列。它必须扩展 Thread 并获取可运行对象并在 run 方法中处理它们:

public class InvokeLaterProcessor extends Thread {

  private BlockingQueue<Runnable> queue=new ArrayBlockingQueue<Runnable>(1);

  public InvokeLaterProcessor(String name) {
    super(name);
  }

  public void invokeLater(Runnable runnable) {
    try {
      queue.put(runnable);
    } catch (InterruptedException ex) {
      log.warn("invokeLater interrupted");
    }
  }

  public void run() {
    Runnable runnable=null;
    do {
      try {
        runnable = queue.take();
        SwingUtilities.invokeLater(runnable);
      } catch (InterruptedException ex) {
        runnable=null;
      }
    } while(runnable!=null);
  }
}

您所要做的就是在主线程中创建的某个类的静态中创建它:

static {
  invokeLaterProcessor=new InvokeLaterProcessor("MyInvokeLater");
  invokeLaterProcessor.start();
}

并通过以下代码处理可运行程序:

invokeLaterProcessor.invokeLater(runnable);

你不需要专有

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

Java 7 Update 25 的 rmi 线程中的 AppContext 为 null 的相关文章

  • Java中ArrayList的交集和并集

    有什么方法可以做到这一点吗 我正在寻找 但没有找到 另一个问题 我需要这些方法 以便我可以过滤文件 有些是AND过滤器 有些是OR过滤器 就像集合论中的那样 所以我需要根据所有文件和保存这些文件的联合 相交 ArrayList 进行过滤 我
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • C# 中不触发事件修改 ComboBox SelectedIndex

    我的 C 应用程序有一个comboBox with a SelectedIndexChanged事件 通常 我希望该事件触发 但有时我需要该事件不触发 我的comboBox是一个MRU文件列表 如果发现列表中的文件不存在 则将该项目从列表中
  • java类加载器getResource中的前导斜杠(“/”)通向哪里?

    我有一个 jar foo jar 其根目录中有一个文件 1 txt 我尝试运行以下命令 MyTestClass class getClassLoader getResource 1 txt jar foo jar 是我在类路径中的所有内容
  • 我应该如何在.net core中设置mvcoptions.enableendpointrouting

    我已经添加了我厌倦的内容 我正在尝试在ConfigureServices方法中设置mvcoptions enableendpointrouting public void ConfigureServices IServiceCollecti
  • MVVM 中的 Window_Load 事件

    我需要编写一些在 WPF MVVM 中的 window load 期间执行的函数 每个按钮都有自己的要执行的命令 MVVM 模型中是否有适用于 window load 事件的命令 您将必须使用交互来执行此操作 即在事件上调用命令
  • 预计脚本问题

    我试图通过期望完成一项简单的工作 我想在 Linux VM 上使用 ssh keygen 命令创建 ssh 密钥 我的下面的期望代码看起来很简单 但它不起作用 usr bin expect spawn ssh keygen t rsa ex
  • MRJob 的多个输入

    我正在尝试学习使用 Yelp 的 Python API 进行 MapReduce MRJob 他们的简单单词计数器示例很有意义 但我很好奇如何处理涉及多个输入的应用程序 例如 不是简单地计算文档中的单词数 而是将向量乘以矩阵 我想出了这个解
  • GKE Autopilot 上的 Prometheus?

    目前在我的kubernetes nodesPrometheus 中的工作 端点 api v1 nodes gk3
  • 检查行数据是否已更改

    我的目标 如果行已更新或新行已插入 则将数据从一个表移动到另一个表 我有一个表 我需要其中的某些字段 我需要知道该行是否已更新或插入 源表没有任何时间戳字段 我使用的是MSSQL2008 数据来自客户端 他们控制表和复制 我以为我已经用新的
  • 我们如何禁用 VS 2010 Intellisense

    我的 Visual Studio 2010 大多数时候都太慢了 所以我决定禁用vs2010 Intellisense 谁能帮我 对于 C C 工具 gt 选项 gt 文本编辑器 gt C C gt 高级 gt 禁用 IntelliSense
  • 列特征必须是 org.apache.spark.ml.linalg.VectorUDT 类型

    我想在 pyspark spark 2 1 1 中运行此代码 from pyspark ml feature import PCA bankPCA PCA k 3 inputCol features outputCol pcaFeature
  • jQuery UI 选项卡 - 如何获取当前选定的选项卡索引

    我知道这个具体问题已经之前问过 但我没有得到任何结果使用bind 事件于jQuery UI Tabs插入 我只需要index新选择的选项卡的 以便在单击该选项卡时执行操作 bind 允许我挂钩选择事件 但我获取当前选定选项卡的常用方法不起作
  • python scipy.stats.powerlaw 负指数

    我想为 scipy stats powerlaw 例程提供一个负指数 例如a 1 5 为了抽取随机样本 powerlaw pdf x a a x a 1 from scipy stats import powerlaw R powerlaw
  • Matlab实时绘图

    我是 matlab 新手 我想实时绘制一些数据 我的方法如下 figure hold on for i 1 1000 plot i i drawnow end 但其性能较差 我还在 stackoverflow 上找到了一个建议 https
  • 我可以在canvas元素中绘制表格吗?

    有没有什么方法 插件 工作解决方案等 来绘制HTML table into a
  • 使用 Objective-C 对字符串进行 URLEncoding

    我正在尝试对字符串进行 URL 编码以形成来自 Objective C 的 GET 请求 NSString params Decoded data foo bar baz NSRunAlertPanel Error params urlEn
  • 什么是应用程序加载器中的托管内容包?

    我想为我的应用程序启用应用程序内购买 购买类型是非消耗品我用 Apple 标记了主机内容 当我想通过 Apple 托管内容时 我需要提供托管内容包 我无法找到此内容包中应包含哪些内容的更多信息 但它不能大于 2GB 并且扩展名应该是 pkg
  • Java中字符串到二进制输出

    我想从字符串中获取二进制 011001 但我得到了 B addbf1 必须有一个简单的转换来做到这一点 但我没有看到它 public static String toBin String info byte infoBin null try
  • 可以在同一台机器上安装两个不同版本的Android Studio吗?

    我只有一台机器 Mac OS 10 9 5 我目前拥有 Android Studio 的金丝雀版本 但遇到了一些错误 所以我也想安装稳定版的Android Studio 有人这样做过吗 在同一台机器上安装多个版本是否有问题 是的 但您必须更
  • 如何为 binned_statistic 制作用户定义的函数

    我正在使用 scipy stats 包沿轴进行统计 但我在使用百分位统计时遇到问题binned statistic 我概括了下面的代码 我尝试在一系列 x bin 中获取具有 x y 值的数据集的第 10 个百分位数 但它失败了 我当然可以
  • Java 7 Update 25 的 rmi 线程中的 AppContext 为 null

    我们最近从 Update 21 更新到 Java 7 Update 25 并且现在在从 rmi 线程调用 SwingUtilities isEventDispatchThread 时遇到空指针异常 因为 AppContext getAppC