草庐IT

java - 如何终止 View 作用域 bean 中的线程?

在我们的应用程序中,当用户单击命令链接时,会生成一个弹出窗口。此点击将传递一个id进行处理。我的托管bean是View范围的,我正在创建一个线程来完成一些任务。在用户单击链接的情况下,会生成一个弹出窗口并且线程已开始执行作业,假设用户关闭了弹出窗口并尝试单击提供不同ID的链接。我的问题是之前启动的线程没有被销毁。我仍然可以获得最新的ID详细信息作为响应,但前一个线程仍在执行作业。我想知道是否有办法在新请求时终止先前的实例线程。我知道我可以使用sessionscoped实现此目的,但弹出窗口是在同一session中打开的。 最佳答案

java - Eclipse IDE 无法启动,JVM 已终止。退出代码=-1

我遇到了EclipseIDE无法启动的问题,并显示以下错误消息:“JVM已终止。退出代码=-1”经过一番谷歌搜索后,我半无意间找到了解决方案,并且能够让IDE正确启动。我所做的是将eclipse.ini中的-XmxJVM参数设置为低于指定的默认值(-Xmx512m)的值。虽然我能够让IDE启动,但我很好奇它为什么会发生以及为什么这个解决方案有效。以下是一些环境信息:EclipseIDE:eclipse-rcp-galileo-SR1-win32JVM:Java(TM)SE运行时环境(build1.6.0_10-b33)物理内存:2GB启动时的可用内存>1GB。最初,我将该值更改为256

java - 如何在没有响应 header 的情况下显式终止来自服务器的http连接

我正在为我的一个客户端应用程序开发一个服务器模拟器。我正在使用GlassFish服务器。我必须在我的服务器应用程序中模拟http连接终止条件。有没有一种方法可以明确地终止来自服务器端的连接,这样客户端就不会收到任何响应header。目前我已经尝试了很多选项,比如关闭响应输出流。但在每种情况下,都会向客户端应用程序发送一条http200OK消息。我想使用http请求并且不想向客户端返回任何内容。我正在使用一个简单的conrtrollerservlet并覆盖了doGet()和doPost()函数。 最佳答案 您将很难说服应用服务器这样做

java - 从 Java 启动的子进程使用 waitFor 完成但流未终止

我正在使用Java的ProcessBuilder启动一个子进程,这是另一个必须在单独的JVM中运行的Java程序。我启动了两个线程来从进程的stdout和stderr流中读取数据,这样即使流缓冲区已满也不会挂起。对Process.waitFor的调用返回,但流并未终止。我使用的代码看起来像(命令是一个字符串列表):ProcessBuilderpb=newProcessBuilder(command);finalProcessp=pb.start();finalByteArrayOutputStreamoutStream=newByteArrayOutputStream();finalB

java - 我需要在浏览器关闭或选项卡关闭后终止 session 并执行一项功能

我想在浏览器关闭或选项卡关闭后终止session。我需要在session过期后使用session监听器进行一次数据库连接。但是,为此我需要等到session销毁。这是session销毁时执行的代码。publicvoidsessionDestroyed(HttpSessionEventevent){synchronized(this){//System.out.println("deletion");ServletContextapplication=event.getSession().getServletContext();sessionCount=(Integer)applicat

Java For-Loop - 终止表达式速度

在我的java程序中,我有一个大致如下所示的for循环:ArrayListmyList=newArrayList();putThingsInList(myList);for(inti=0;i由于列表的大小没有改变,我尝试通过用变量替换循环的终止表达式来加速循环。Myideawas:SincethesizeofanArrayListcanpossiblychangewhileiteratingit,theterminationexpressionhastobeexecutedeachloopcycle.IfIknow(buttheJVMdoesn't),thatitssizewillst

java - 如何在动态加载的类中终止无限循环?

我编写了一个程序,可以自动对学生提交的编程作业进行评分。反射用于加载类和实例化对象。无意的无限循环是学生作业中的常见错误。每个学生提交的内容都会分配一个主题。监视器跟踪线程的运行时间并使用stop()方法终止超过允许的最长时间的线程。我的程序按预期运行,但java.lang.Thread中的stop()方法已弃用。我将非常感谢有关更清洁解决方案的建议。谢谢。 最佳答案 java.lang.Thread中的stop()已被弃用,原因很充分:它并不总是有效,并且可能会干扰JVM的工作。最好的办法是在单独的JVM中运行程序。如果需要,您可

java - 即使使用 MathContext 也会出现非终止十进制错误

我正在编写代码来实现这个算法:但是,即使使用MathContext(1000),我也会收到此错误:Exceptioninthread"main"java.lang.ArithmeticException:Non-terminatingdecimalexpansion;noexactrepresentabledecimalresult.atjava.math.BigDecimal.divide(BigDecimal.java:1603)atpicalculator.PiCalculator.calculatePi(PiCalculator.java:59)atpicalculator.P

java - 为什么我的进程终止?

我有一个运行ping操作的Runnable对象-Runnabler1=newRunnable(){@Overridepublicvoidrun(){try{Listcommands=newArrayList();commands.add("ping");commands.add("-c");commands.add("10");commands.add("google.com");System.out.println("Beforeprocess");ProcessBuilderbuilder=newProcessBuilder(commands);Processprocess=bui

java - 升级到 Hibernate 4.3.4 主要方法永远不会终止 JVM 未完成

我必须从Hibernate4.2.3升级到Hibernate4.3.4以测试一些JPA2.1规范。我只更改了这行代码上一行:finalorg.hibernate.service.ServiceRegistryserviceRegistry=neworg.hibernate.service.ServiceRegistryBuilder().applySettings(hibConfiguration.getProperties()).buildServiceRegistry();新添加的代码行finalorg.hibernate.service.ServiceRegistryservic