小编jim*_*ont的帖子

Java Shutdown挂钩未运行

我是Java/threads的新手,我继承了类似下面的代码.它是一个命令行程序,main()只启动5-6种不同类型的线程,并以^ C退出.我想添加一个关闭钩子来正确关闭所有线程并按以下方式调整它.

我在所有线程中添加了一个Shutdown钩子和一个stopThread()方法(比如MyWorker类中的那个)

问题是,当我按^ CI时,看不到Thread的run方法中的结束消息.这是在后台完成还是我的方法有问题.另外,我应该遵循更好的模式吗?

谢谢

 public class Main {
     public static MyWorker worker1 = new MyWorker();
     // .. various other threads here

     public static void startThreads() {
         worker1.start();
         // .. start other threads
     }

     public static void stopThreads() {
         worker1.stopThread();
         // .. stop other threads
     }

     public static void main(String[] args)
             throws Exception {

         startThreads();

         // TODO this needs more work (later)

         Runtime.getRuntime().addShutdownHook(new Thread() {
             @Override
             public void run() {
                 try {
                     stopThreads();
                 } catch (Exception exp) {

                 } …
Run Code Online (Sandbox Code Playgroud)

java multithreading

3
推荐指数
3
解决办法
1万
查看次数

推送git repo失败并显示错误:包含'.git'

我使用hg-fast-export工具将一些mercurial repos转换为git,虽然所有这些都转换得很好,但是当我按下repo时会产生以下错误.

$ git remote add origin git@github.com:asdf/zxcv.git
$ git push -u origin master
Counting objects: 7840, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2817/2817), done.
error: object 324f9ca2aaae7b1d716db3fc31c02d391c1c2c16:contains '.git'
fatal: Error in object
error: pack-objects died of signal 13
error: failed to push some refs to 'git@github.com:asdf/zxcv.git'
Run Code Online (Sandbox Code Playgroud)

"包含'.git'"错误有非常广泛的术语,找不到任何文档,因此我尝试在原始仓库中搜索现有的".git"文件夹,我做了.有一个subsubsub文件夹,其中包含我使用git rm删除的旧git存储库的实例,但问题仍然存在.

无论如何我可以把它推到github或新的清洁回购是唯一的选择吗?

任何帮助在此赞赏.谢谢!

git mercurial

3
推荐指数
1
解决办法
1369
查看次数

如何批量处理最大大小的 KStream 或回退到时间窗口?

我想创建一个基于 Kafka 流的应用程序,该应用程序处理一个主题并分批接收大小为 X(即 50)的消息,但如果流的流量较低,则在 Y 秒(即 5)内给我任何流。

因此,我不是一个一个地处理消息,而是处理List[Record]列表大小为 50(或可能更少)的 a。

这是为了使一些 I/O 绑定处理更有效。

我知道这可以用经典的 Kafka API 来实现,但我正在寻找一种基于流的实现,它也可以在本地处理偏移提交,并考虑到错误/失败。我在他的文档中或通过四处搜索都找不到任何相关的内容,并且想知道是否有人可以解决此问题。

apache-kafka apache-kafka-streams

2
推荐指数
1
解决办法
2110
查看次数