Q1。使用groovy实现单例模式的最佳方式是什么?groovy中支持单例机制的其他选项有哪些?
任何有用的例子。
Q2。groovy支持像File changed listener这样的东西吗?
发布于 2011-09-30 23:21:32
Q1
只需添加一个@Singleton注释(至少从groovy v1.7.0开始),就可以使任何类成为单例类:
@Singleton
class MyClass {
}然后,您可以使用以下命令访问单例实例
MyClass singleton = MyClass.instanceQ2
我想您是在问Groovy是否提供了一个监听器,每当文件更改时都会调用该监听器?我不知道Groovy中有这样的功能。如果存在这样的类,您更有可能找到Java实现(可以在Groovy程序中使用)。
发布于 2011-10-01 00:39:05
关于Q2:虽然groovy本身不提供任何通知文件更改的方式,但可以与groovy一起使用的Java7提供了这种方式。
特别是,如果您想要监视当前目录中的文件foo上的文件更改,您可以这样做:
import java.nio.file.*
FileSystems.default.getPath(".") // dot for current directory
def watchKey = p.register(FileSystems.default.newWatchService(),
StandardWatchEventKinds.ENTRY_MODIFY)
def events = watchKey.pollEvents()
events.findAll{it.context().fileName == 'foo'}.each { event ->
println "foo was changed"
}https://stackoverflow.com/questions/7612520
复制相似问题