Caffeine is a free high-performance interoperability solution between the Java platform and the .NET framework, with special emphasis on the enterprise variants of such platforms. It makes software originally written for .NET available to the Java platform. It promotes library reuse between Java and .NET by transferring APIs across environments, and allows code written for one platform to run on the other platform with minimal performance degradation. It is powered by Mono, and runs on Alpha, Linux, Windows, Mac OS X, HPPA, SPARC, and s390 systems.
The file check daemon monitors files according to rules defined in configuration files. When a file is considered stable (due to its age, presence of a flag file, etc.) then it gets copied to a new location. Rotating backups of the destination file can be made and owner, group and permissions can be specified for the destination. Some examples of where this utility has been found to be useful are: Moving files out of an incoming FTP directory in a timely manner. Moving files uploaded to a web server into directories with different user/group. This lets the administrator run the web server as a non-root user and accept uploads using web server based authentication and then move the files to a more secure area after the transfer. The details of how to determine whether a file is stable and what to do with it once it is are defined in a "Filespec" configuration file. There is a separate filespec for each file that will be monitored which means that each file can have unique behavior associated with it.