我想编写一个执行屏幕操作的Java终端应用程序.是否有任何好的库允许你像*nix/C世界中的curses一样操纵屏幕?
我正在寻找的最小功能是窗口和用户输入支持.
在功能方面,我希望有一个终端区域,其中一些数据定期更新,同时(同时)用户可以在屏幕的其他部分输入命令/文本.
我正试图写一条延迟射击的规则,直到最后一次射击至少15分钟.然而,Drools Fusion中的时间运算符仅允许推理关于彼此的两个事件而不是与当前时间相关的一个事件.
我想要这样的东西:
rule "some rule"
when
not LastFiredEvent(this before[0m, 15m] NOW)
…
Run Code Online (Sandbox Code Playgroud)
我已经尝试编写一个每秒触发一次的规则并插入一个心跳事件(也缩回之前的心跳),我可以在其他规则中使用它作为当前时间.
我发现这相当不优雅; 我错过了什么或者Drools Fusion真的没有这个东西吗?
NB.我不是在寻找延迟发射规则或规则,只能在15分钟的倍数上发射; 如果在最后17分钟内没有发生任何事情,规则必须立即开始以响应新事件.
Java命令行应用程序在不占用资源的情况下进行后台工作的正确方法是什么?它应该在循环中使用sleep()还是更优雅/有效的方式?