問題タブ [jnotify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ignore file modify using Jnotify
I am using Jnotify to write an app. (JNotify is a library for for detecting file modification.)
The app has the following components:
A file writer that writes to file X
A file watcher (created using JNotify) that watches file X
An external app (such as notepad) that writes to file X as demanded by user.
I want JNotify to trigger notifications only when X is modified using 3, and to ignore when modified via 1. (or at least differentiate between modifications via 1 and 3).
Is there a simple way in which I can do it? One way is to have a synchronized variable that is toggled when the file writer writes to it, but I feel this is not very elegant.
java - JNotify とファイル リーダーが競合している
次のように、JNotify を実装して、新しいファイルが特定のディレクトリにいつ到着したかを判断し、ファイルが到着したときにファイル名を別の関数に送信します。
関数 mp.processMessage はファイルを開こうとしますが、ファイルが別のプロセスによって使用されているというエラーが表示され続けます。ただし、ファイルは作成されたばかりなので、それを使用している可能性がある他のプロセスは JNotify だけです。
いくつかの print ステートメントを入れたところ、関数 mp.processMessage がリスナーの print 関数の前に呼び出されているように見えます。メッセージ処理全体をリスナークラス内に配置する以外に、これを解決する方法について誰か提案がありますか?
java - Java API for FileSystem の変更?
重複の可能性:
Java がファイルシステムの変更を検出する
FileSystem でイベントを追跡するための Java API を提案できる人はいますか? JNotify を見つけましたが、64 ビット システムをサポートしていません。
また、新しい java.nio.* ライブラリは、多くの JRE がまだ実際にサポートしていないため、デプロイメント レベルのアプリケーションで使用するには非常に新しいものです。
代替手段の 1 つは、FS をポーリングして変更を確認することです。これは多くの人が行っていると思いますが、私の直感によると、非常にリソースを集中的に使用することになります。
java - Linux(Ubuntu OS)でJnotifyを設定するにはどうすればよいですか?
私はWindowsでJnotifyを使用しました。DLLファイルをSYSTEMFOLDERとSYSTEM32にコピーし、ビルドパスにJnotify.jar を含めました。この手順は正常に機能します。そして私はjnoitifyが提供するWindowsシステムのすべての通知を受け取ります。
今、私はjnotifyをUbuntLinuxで動作させたいと思っています。どのような手順に従うべきか教えてください。JavaクラスパスにJnoitify.jarを含めました。しかし、それは機能しません。
上記に従うことにより、以下の例外が発生します。
java - JNotify ライブラリを使用して、削除されたファイルがファイルかディレクトリかをどのように判断できますか?
JNotifyに慣れていない方のために説明すると、これはディレクトリ内のイベントを監視する簡単な方法を提供するライブラリです。
たとえば、選択したフォルダでファイルが削除されると、メソッド「fileDeleted」がいくつかのパラメータとともに呼び出されます。fileDeleted メソッドの例を次に示します。
ここで、削除されたファイルがファイルまたはディレクトリであったかどうかを知りたいと思います。私の通常のアプローチは、指定されたパスで新しい File オブジェクトを作成し、メソッド isFile() および isDirectory() を使用することです
ただし、このファイルは既に削除されているため、これらのメソッドは常に false を返します。
ここに私の具体的な質問があります: 削除されたファイルまたはディレクトリへのパスがあります。これに対する回避策はありますか? ここで行うベストプラクティスは何ですか?
前もって感謝します。
java - JNotify on Mac OS X?
I want to try JNotify, the plugin library for watching file system changes, but cannot figure out how to configure it. The web page for JNotify says that "java.library.path should point to the location of the native libraries that comes with jnotify (dlls, so dylibs etc)". I am rather new to Mac OS X and don't really know how to do this. I'm using NetBeans and was hoping there was a simple way of adding it to the path in there. I tried it by simply adding the jar file to the Libraries node in the project, and importing it by "import net.contentobjects.jnotify.*;", but that didn't help. I'm getting this:
It also seems I need to add native libraries (.so file for Mac I guess) into the same path.
So how do I do this?
java - Jnotify ウォッチが原因でファイルを移動できません
JNotify を使用してフォルダを監視しています.新しいファイルがフォルダに入るとすぐに、そのファイルを解析し、ファイルを別のフォルダに移動する必要があります.ファイル移動のコードを実行すると、「他のプロセスで使用されています。」
このファイルはすでに JNotify によって監視されているため、移動できません。
アイデアを手伝ってください。
java - JNotifyの代わり?
WindowsでJNotifyを使用しました。しかし、奇妙な例外が発生しています。
Java ランタイム環境によって予期しないエラーが検出されました:
pc=0x6d94200c、pid=22944、tid=20528 での EXCEPTION_ACCESS_VIOLATION (0xc0000005)
Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 混合モード、共有) 問題フレーム: V [jvm.dll+0xd200c]
だから私はJNotifyのいくつかの代替物を知りたかった. ファイルシステムの変更を見て、Windows と Linux で正常に動作する API。
java - TomcatサーブレットJnotifyディレクトリの監視
変更がないかディレクトリを監視するためにJnotifyを使用する(おそらくは提案を受け入れる)Tomcat内に含まれるサーブレットを作成したいと思います。
私はJava7とNIOのものを使用しますが、本番システムはUbuntu 10.04を実行します。現在、デプロイメントの理由から、ほとんどがリポジトリとdebパッケージにあるものを使い続けたいと思います。
私の質問は、JnotifyをTomcatサービスに統合する方法に関するものです。現在の私の考えでは、GenericServletクラスを使用してサーブレットを作成します。このクラスは、init()メソッドで必要なディレクトリに監視を設定します。次に、ディレクトリでアクティビティを取得するたびに、どういうわけか(これは私が理解していないビットです)service()メソッドを呼び出します。次に、ディレクトリに対してアクションを実行するリスナーを作成できます(この場合はファイルを移動します)
または、新しいプロトコルハンドラーを作成することもできますが(たとえば、PoolTcpEndpointを開始点として使用します)、プロトコルではないため、これはばかげているようです。
または、より良い方法がありますか?Tomcatを使用する唯一の理由は、他の多くのロジックがTomcatサーバー内に保持されていることです。Javaをデーモン化し、別の方法でイベント駆動型アーキテクチャを取得する方法がある場合、私は心を開いていますが、たとえばJettyを使用するようなことはしたくありません。これは、不可能なサポートするスタック。
あなたの考えを聞くのを楽しみにしています。
ありがとう
java - MacOSXでのJNotifyの構成
重複の可能性
MacOSXでJnotifyを設定する方法。MyEclipseと最新バージョンのJnotifyを使用しています。私はMACOSを初めて使用し、libパスにjnotify.jarを追加しました。メインクラスを実行するとき。次の例外が発生します