据我所知,Java中LISTEN/NOTIFY的JDBC驱动程序不支持真正的事件驱动通知.您必须经常轮询数据库以查看是否有新通知.
我有什么选择在Java中(可能是除了JDBC以外的东西?),如果有的话,在没有轮询的情况下以真正的事件驱动方式异步获取通知?
现在,对于频繁运行的gradle目标之一,输出如下所示:
:DataPlanner:清洁 :普通:干净 :服务器:干净 :模拟器:干净 :util:干净 :util:compileJava :util:processResources最新 :util:classes :util:compileTestJava :util:processTestResources :util:testClasses :util:test :util:jar :common:compileJava :common:processResources最新 :common:classes :common:compileTestJava :common:processTestResources
如何使它看起来像这样?
:DataPlanner:清洁 花了2秒 :普通:干净 花了2秒 :服务器:干净 用了3秒 :模拟器:干净 用了4秒 :util:干净 用了1秒 ...
如果不可能让每个任务都在完成时打印其持续时间,则打印时间戳是一种可以接受的选择。
有任何想法吗?
修改对我不起作用的建议解决方案之一,该解决方案做到了:
gradle.taskGraph.beforeTask { Task task ->
task.ext.setProperty("startTime", new java.util.Date())
}
gradle.taskGraph.afterTask { Task task, TaskState state ->
int secs = ( new java.util.Date().getTime() - task.ext.startTime.getTime() ) / 1000
int mins = secs / 60
if ( 4 < secs ) {
int sec = secs - mins …Run Code Online (Sandbox Code Playgroud)