問題タブ [restxq]

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.

0 投票する
2 に答える
311 参照

rest - exist-db restxq トリガー : サービスは削除されましたが、まだアクティブです

既存データベースの RESTXQ 実装に問題があります。RestXQTrigger が正しく機能していない可能性があると思います。

.xqm問題: 複数のファイル内の RESTXQ サービスを含むコレクションを (ダッシュボード経由で) 削除しました。ただし、サービスは登録解除されず、eXist を再起動した後でも引き続き使用できます。

この登録解除を強制する方法はありますか?つまり、以前のコレクション/ファイルを再作成し、各ファイルを 1 つずつ削除する以外に意味があり.xqmます (この方法では、トリガーが機能するようです)。

0 投票する
1 に答える
88 参照

linux - RestXQ サービスで開いているファイルが多すぎる

非常に単純なRestXQサービスが設定されているDebianサーバーにeXist 2.1(バージョンeXist-db-setup-2.1-rev18721)がインストールされています。

それを使用するスクリプトを呼び出すと、問題はありません。

しかし、その後、サービスを 2,000 回呼び出すスクリプトを作成しようとしました (要するに、データベースに 2,000 個の異なるファイルを入れたいのですが、それぞれのファイルは 100 行程度のかなり小さいものです)。

一度起動すれば問題ありません。もう一度試すと、しばらくしてエラーが発生し、ダッシュボードに問題が発生します (まったく応答しません)。ただし、xmlrpc クライアントとその他のアクセスは、eXist を再起動するまで引き続き機能します。

restxq.log で、私はこれを見ました:

原因: java.io.FileNotFoundException: /tmp/_mmtfm_c1600dd8-7203-442c-986b-90328917d6b5/mmtf_141820323125911241744648192085.tmp (開いているファイルが多すぎます)。

そのため、Linux システムで eXist の pid を確認すると、lsof を使用して、eXist プロセスが 4,000 を超えるファイルを使用していることがわかります。複数の実験の後、4324 (または 4325) が問題が発生する限界のようです。

eXist を再起動すると、プロセスは 450 個のファイルを使用します。Web サービスを呼び出すたびに、exist/tools/jetty/tmp/ にファイル (およびフォルダー) が作成され、プロセスによって使用されます。

誰かがこの問題の前にいましたか? PUT が完了すると、これらのファイルがリリースされないのはなぜですか?

ありがとう、そして良いお年をお迎えください^^

0 投票する
2 に答える
231 参照

jsonp - RestXQ (eXist-db を使用) で JSONP を返すにはどうすればよいですか?

RestXQ で JSONP を返す方法がわかりません。関数に追加 let $x := util:declare-option("exist:serialize", fn:concat("method=json jsonp=",request:get-parameter("callback", "callback"))) した後、次のエラー メッセージが表示されます。

err:XPTY0004: 静的解析段階で、式が発生するコンテキストに適していない静的型を持つ式が見つかった場合、または動的評価段階で動的型の動的型が見つかった場合は型エラーです。値が、2.5.4 SequenceType マッチングのマッチング ルールで指定されている必要なタイプと一致しません。

GET 関数の冒頭は次のとおりです。

0 投票する
1 に答える
248 参照

same-origin-policy - BaseX で HTML ドキュメントを提供する方法はありますか?

BaseX の HTTP サーバーが、生のリソースとして db に保存されている HTML ドキュメント、またはファイル システムに text/html コンテンツ タイプで保存されている HTML ドキュメントを提供して、ブラウザで表示できるようにする方法はありますか?

ドキュメントは、BaseX への XHR リクエストを行う Web ページです。現在、ファイルプロトコルを介してブラウザにロードしています。これには、Jetty が CORS ヘッダーで応答するようにする必要があります。そうしないと、同じオリジン ポリシーが XHR リクエストをブロックします。

ただし、これはメンテナンスの負担です。BaseX を更新するたびに、CORS ヘッダーを追加する新しいバージョンのサーブレット フィルターを手動で取得する必要があります。

BaseX 自体が HTML ドキュメントを提供する (そしてオリジンになる) ようにして、クロスオリジン要求を排除したいと考えています。

出来ますか?