标签: shutdown

关闭应用时提示用户保存

我正在撰写归结为文档编辑器的内容.当应用程序关闭时,我需要提示用户保存更改.这很容易.我的问题是什么时候提示用户,而只是丢弃未保存的数据并关闭.

在FormClosing事件中,CloseReason枚举包括:

  • 没有
  • WindowsShutDown
  • MdiFormClosing
  • UserClosing
  • TaskManagerClosing
  • FormOwnerClosing
  • ApplicationExitCall

我认为WindowsShutDown和TaskManagerClosing不应该导致"保存更改?" 提示出现,以防止应用程序挂起该提示显示.

这是标准做法,还是我应该在这里做些什么呢?

为清楚起见,这是代码:

protected override void OnFormClosing(FormClosingEventArgs e)
{
    base.OnFormClosing(e);

    if (!(e.CloseReason == CloseReason.WindowsShutDown || e.CloseReason == CloseReason.TaskManagerClosing)
            && this.ChangesPending())
    {
        switch (MessageBox.Show(this, "Save changes?", "Save Changes", MessageBoxButtons.YesNoCancel))
        {
            case DialogResult.Yes:
                this.Save();
                break;
            case DialogResult.No:
                // Do nothing
                break;
            case DialogResult.Cancel:
                e.Cancel = true;
                break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net shutdown application-shutdown winforms

5
推荐指数
1
解决办法
1771
查看次数

如何正确杀死在tomcat上运行的webapp拥有的本地线程,指示关闭

后端webapp部署在Tomcat 6 servlet容器上.在webapp中,启动了几个监视线程.问题在于关机.

  • 我如何知道要求关闭webapp?
  • 我应该如何在我的线程中处理这个问题?

目前我的线程实现如下.当servlet被指示关闭(shutdown.sh)时,它确实完成了一个干净的关闭并且因为这个线程而没有挂起 - 为什么?

class Updater extends Thread {
  volatile boolean interrupted = false;

  @Override
  public void run() {
    Integer lastUpdateLogId = CommonBeanFactory.getXXX()
                              .getLastUpdateLogRecordKey(MLConstants.SMART_DB_NAME);

    List<UpdateLog> updateLogRecords;
    while (!interrupted) {
      boolean isConfigurationUpdateRequested = false;

      try {
        TimeUnit.SECONDS.sleep(5);
      } catch (InterruptedException e) {
        setInterrupted(true);
      }

      updateLogRecords = CommonBeanFactory.getXXX()
                         .getLastFactsUpdateLogRecords(MLConstants.XXXX, lastUpdateLogId);

      for(UpdateLog updateLog : updateLogRecords) {
        if (updateLog.getTable_name().equals(MLConstants.CONFIG_RELOAD)) {
          isConfigurationUpdateRequested = true;
        }

        lastUpdateLogId = updateLog.getObjectKey();
      }

      if (isConfigurationUpdateRequested) {
        Configuration.getInstance().loadConfiguration();
      }
    }
  }

  public boolean getInterrupted() {
    return …
Run Code Online (Sandbox Code Playgroud)

multithreading jvm shutdown

5
推荐指数
2
解决办法
7339
查看次数

JAVA:如何在进程停止时调用方法(甚至可能吗?)

我想要它,所以当我的用户从命令行启动我的程序然后终止进程(例如ctrl + c)时,程序将通过关闭所有连接来正常关闭.这甚至可能吗?我不能让它像GUI一样关闭时调用方法吗?该程序没有GUI.

请告诉我.

java shutdown

5
推荐指数
1
解决办法
1680
查看次数

JBoss 5关闭了什么?

在较高的层面上,JBoss 5的关闭是做什么的?如果我只是杀死java进程而不是优雅地关闭JBoss,可能会出现什么问题?

对我的应用程序来说,优雅的JBoss 5关闭大约需要6分钟,这非常大并且有305个EJB.在从jndi解除EJB LocalHomes绑定之前,JBoss似乎暂停了很长时间.

鉴于此,我正在考虑简单地杀死java进程.我想知道如果我这样做会出现什么问题.

我主要在*nix中运行JBoss,有时在Windows中运行.

performance jboss shutdown jboss5.x

5
推荐指数
1
解决办法
1051
查看次数

在PHP中,max_execution_time会影响通过register_shutdown_function()调用运行的关闭函数吗?

我有一个注册使用的关闭功能register_shutdown_function()需要很长时间才能完成.PHP max_execution_time会导致PHP终止此函数还是会一直运行直到它完成或出错?

php shutdown execution-time executiontimeout shutdown-hook

5
推荐指数
1
解决办法
1324
查看次数

检测挂起的linux关闭

由于我尽快为我的Ubuntu服务器安装挂起的更新,我必须经常重启我的linux服务器.我正在该服务器上运行webapp,并且想要警告我的用户有关挂起的重启.现在,我手动执行此操作,在重新启动之前添加通知,给他们一些时间来完成他们的工作,重新启动并删除公告.

我希望,shutdown -r +60写一个文件,其中包含有关重启的所有信息,我可以检查每次访问.有这样的文件吗?由于性能原因,更喜欢像/ proc这样的虚拟文件系统中的文件...

我正在运行Ubuntu 10.04.2 LTS

linux shutdown system-shutdown

5
推荐指数
1
解决办法
5693
查看次数

当mongorestore时Mongodb关闭并出错

我正在将数据恢复到mongodb.导入数据后,在重建所有索引之前,它会抛出一些错误,并自行关闭.

有没有人熟悉这种情况?

错误日志:

Wed Nov 16 13:32:10 Socket recv() errno:104 Connection reset by peer 127.0.0.1:27017
Wed Nov 16 13:32:10 SocketException: remote: 127.0.0.1:27017 error: 9001 socket exception [1] server [127.0.0.1:27017]
Wed Nov 16 13:32:10 DBClientCursor::init call() failed assertion: 10276 DBClientBase::findN: transport error: localhost query: { getlasterror: 1 }

shutdown mongodb mongorestore

5
推荐指数
0
解决办法
1403
查看次数

为什么在Tomcat关闭时会抛出Throw NoClassDefFoundError?

我的项目包括Apache commons-* library
Tomcat关机时引发异常,如果运行默认示例,则不引发异常。

卡塔利娜

信息:非法访问:该Web应用程序实例已被停止。无法加载org.apache.log4j.spi.ThrowableInformation。最终的后续堆栈跟踪是由出于调试目的引发的错误以及试图终止导致非法访问的线程而引起的,并且没有功能影响。

信息:非法访问:该Web应用程序实例已被停止。无法加载org.apache.log4j.spi.ThrowableInformation。最终的后续堆栈跟踪是由出于调试目的引发的错误以及试图终止导致非法访问的线程而引起的,并且没有功能影响。

INFO: Destroying ProtocolHandler ["http-bio-8080"]
Sep 24, 2012 4:00:14 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance ses ahas been stopped already.  Could not load org.apache.commons.pool.impl.CursorableLinkedList$Cursor.  The eventual following stack trace is caused by an error thrown for debugging purpos well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1600)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.apache.commons.pool.impl.CursorableLinkedList.cursor(CursorableLinkedList.java:305)
    at org.apache.commons.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1536)
    at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1749)
    at …
Run Code Online (Sandbox Code Playgroud)

tomcat shutdown

5
推荐指数
1
解决办法
5316
查看次数

为什么我需要调用close()或shutdown()方法?

我是Java新手,在高中时期有一些C++背景.现在我正在努力创造一些东西,我选择Java作为编程语言.

我完成了我的作业,看了很多关于Java的"析构函数",finalize()方法和close()shutdown()方法.但我仍然认为我不知道这应该如何工作(当然下面有更多信息)

好的,具体的问题是为什么我需要调用close()shutdown()方法?

在我的特定情况下,我正在使用一个我没有开发处理智能卡读卡器的类,但我已经看到文件管理的情况,你必须调用close()方法,将类似.

不是调用close()方法与在C++中释放内存的想法相同(那很糟糕)?意思是,我必须处理对象的删除或破坏......不是GC的用途吗?

我试图用于智能卡读卡器的类不是最好的选项可能是一个选项,这个类实现finalize()方法可能更好,所以当不再使用并准备好GC时,释放内存(很可能是本机代码)和/或释放GC可能不知道如何操作的硬件资源.

但是文件管理类呢?那些是非常常用和维护的,为什么仍然需要close()方法?我理解存在的目的,解锁文件,但为什么我要记得关闭它?一旦不再使用该对象,则至少在最常见的情况下自动解锁文件.

最后,使用实现finalize()方法的类来包装需要关闭或关闭的类是否是一个正确的解决方法,我调用close()shutdown()方法?

我已经看到finalize()方法不是很受欢迎,所以这就是我问这个问题应该如何解决的原因.

提前致谢

胡安

PS:我见过的:

是否有Java的析构函数?

你为什么要实现finalize()?

http://www.codeguru.com/java/tij/tij0051.shtml

用Layman的术语解释Java中的close()方法

我需要关闭我执行File.getName()的文件吗?

java garbage-collection shutdown finalize

5
推荐指数
1
解决办法
1544
查看次数

使用register_shutdown_function()时,为什么我的'关闭回调'无效?

警告:register_shutdown_function():无效的关闭回调

trait ErrorTrait {

        public function shutDownFunction() { 
            $error = error_get_last();
                // fatal error, E_ERROR === 1
                if ($error['type'] === E_ERROR) { 
                    //do your stuff     

                    $messageStore="Using $this when not in object context";

                    if (strstr ( $error['message'],$messageStore))

                    {
                        echo "found it";

                    }

                } 
                }




        public function shutdown_function()
        {
        register_shutdown_function('shutDownFunction');
        } 
Run Code Online (Sandbox Code Playgroud)

}

我在我的主类中使用这个特性并从中调用函数

    use ErrorTrait;

     public function test()
{   self::shutDownFunction();


    self::shutdown_function(); }
Run Code Online (Sandbox Code Playgroud)

然后在这一点上,我在一个名为"run"的函数中调用test中的函数

我所做的只是简单地调用函数.

      public function run()
        {
        self::test ();
          // Rest of code}
Run Code Online (Sandbox Code Playgroud)

关于为什么会导致问题的任何想法?

php compiler-errors shutdown traits

5
推荐指数
1
解决办法
2528
查看次数