問題タブ [optimistic]

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 投票する
5 に答える
288 参照

performance - Improving worldwide website performance without using a CDN?

CDNs seem like a tremendously brute-force approach to improving website performance across the world, since they use some thousands of machines close to the end-user to ensure good throughput.

Are there any ways of improving performance over long distances with high latency or slow-ish links (e.g., UK to Australia) over the "usual" methods of reducing size and number of requests, or is the only other way to have servers closer to the user?

0 投票する
3 に答える
2490 参照

activerecord - activerecordの楽観的ロックが行ごとに1回だけ機能するのはなぜですか?

どういうわけか、私はいつも金曜日にこれらを手に入れます。

以前の質問は同じ問題に関するものでしたが、今では少し絞り込むことができます。

私はこれを理解しようと一日中遊んでいます。次のように指定されたlock_version列を持つテーブルがあります。

そして、私はこのようなことをします:

次に、1番目と2番目が同じオブジェクトを参照していることを確認します。それらのIDは同じであり、mysqlコマンドラインツールを使用してデータベースにその行が表示されます。

今のところ問題ありません。ActiveRecord::StaleObjectError例外が正しく発生します。 ただし

...そして何も起こりません。正しい(スローされた例外)動作が得られるのは、最初と2番目のlock_versionが0の場合だけです。ただし、最初の保存後は、再び0になることはありません。いったいこれで何が起きているのでしょうか?

私はruby1.8.6とアクティブレコード2.2.2を使用しています

ありがとう...

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

nhibernate - 流暢な nhibernate automap バージョン列

私のコンベンションの現在のコード:

これは、RowVersion をバージョン列としてレンダリングしません。RowVersion を単なる別の列として扱います。

私の質問は、Fluent Nhibernate を使用して Row Version Concurrency をどのように追加するのですか?

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

java - WebレイヤーでOptimisticLockExceptionをキャッチする方法

OptimisticLockException が EJB レイヤーによって発生したときに、Web レイヤー (.war コード) で OptimisticLockException をキャッチする方法という 1 つの問題があります。

JEE5、GlassFishV2.1、JPA (TopLinks を使用)、およびコンテナ管理のトランザクションを使用しています。しかし、同じエンティティに対する別の同時ユーザーによるトランザクションが原因でダーティ リードが発生すると、実際に発生した war レイヤーで Transaction.RollBackException が発生します。 OptimisticLockException によって。しかし、戦争側で OptimisticLockException をキャッチできません。

インターネットで見つけました
http://books.google.com/books?id=fVCuB_Xq3pAC&pg=PA292&dq=OptimisticLockException++Collision+Exception&hl=en&ei=0A6jTI3nN5DQccbO5MAB&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCgQ6AEwAA#v=onepage&q=OptimisticLockException%20 %20Collision%20Exception&f=false

em.flush を ejb 側で使用すると、いくつかのカスタム例外をキャッチして war にスローできます。しかし、 em.flush はすべてのデータベースを更新すると思いますが、それは高価な操作ですか?

私の意見では、90% のケースで OptimisticLockException が発生しないため、em.flush を呼び出さず、.war で EJBException をキャッチしてから再試行します。より良いオプションはありますか?

try{ // コード } catch (EJBException ex) {

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

java - デタッチされたオブジェクトのデフォルトの楽観的ロックを休止状態にしますか?

私は次のようなアプリケーションを持っています:

バージョンフィールドを使用してオプティミスティックロックを明示的に構成していません。ただし、2つのリクエストが並行して実行され、同じオブジェクトを削除しようとすると、HibernateOptimisticLockingFailureExceptionが発生する場合と、「CustomException」が発生する場合があります。

オプティミスティックロックを明示的に設定せずにHibernateOptimisticLockingFailureExceptionを取得するのは正常ですか?デタッチされたオブジェクトのデフォルトの楽観的ロックを休止状態にしますか?

このHibernateOptimisticLockingFailureExceptionを処理するために何をしていますか?再試行するか、「サーバービジー」などのデフォルトメッセージでユーザーに通知しますか?

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

javascript - JavaScript でレプリケートされたオブジェクトの楽観的同期

ユーザーが同じオブジェクトの属性に同時にアクセス (読み取り、書き込み) できるようにするブラウザー アプリケーション (html5+websockets+css3+js を推奨) をプログラミングしています。リアルタイム エクスペリエンスを作成するには、楽観的同期を使用したいと考えています。Timewarp および Trailing State アルゴリズムについて読みましたが、これらまたは類似のアルゴリズムを既に実装している JavaScript ライブラリがあるかどうか疑問に思います。

この質問を見つけましたが、残念ながらまだ回答がありません。XSTM は悲観的な同期しかサポートしていないようです。

私に何か考えはありますか?

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

nhibernate - Nhibernate の同時実行の問題を解決する

私は現在、NHibernate を使用してアプリケーションを実装することを考えています。インスタンスを取得してからどのフィールドが変更されたかをユーザーに示すことで、同時実行の問題を解決できるようにしたいと考えています。したがって、ユーザーは、入力した値とデータベース内の値を比較して、どちらを使用するかを決定できるようにする必要があります。

私が読んだことから、格納された情報が永続化され、バージョンフィールドがデータベースの値と異なる場合、NHibernate は例外をスローします。この例外には、データベース内のオブジェクトに関する何らかの情報が含まれていますか?それとも、データ オブジェクトを取得してユーザーが操作したオブジェクトと比較するために、データベースに再度クエリを実行する必要がありますか?

誰かがすでに似たようなことをしていて、コードを共有したいと思っているかもしれません。

0 投票する
0 に答える
265 参照

javascript - オプティミスティック バックボーン アプリケーション

楽観的なアプリケーションを構築するための記事、ディスカッション、一般的なアドバイスがあるかどうかを知りたかっただけですか?

0.9 以降、Backbone はモデルをデフォルトで楽観的に変更しました。モデルを保存/更新する場合、サーバーからの応答を待つ必要がありますか? 明らかにそうでない場合でも、結果はすぐに得られるため、より迅速なアプリケーションにつながります。これは、サーバーで新しいモデルを更新または作成するときにエラーが発生した場合にも問題を引き起こす可能性があります。これが次のポイントにつながります。

楽観的なアプリケーションを構築している場合、エラーをどのように処理すればよいですか? モデルが作成/更新されたと推定することは可能でしょうか?そうでない場合は、データをローカルストレージに保存し、定期的にサーバーに保存しようとしますか? 私はこのプラグインを詳しく見ていませんが、同じ考え方を持っていると思います。

あなたの意見や提案は何ですか? 非トランザクション アプリケーションを構築していると仮定しましょう。

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

java - 奇妙な楽観的ロック例外

私は長い間この問題に苦労してきましたが、最終的に最後のオプションとしてあなたと共有することにしました.私を助けてください.私はJSF、EcllipseLink JPA、Glassfish 3.1.2.2オープンソース版、およびms sqlを含むプロジェクトに取り組んでいます. server 2008.問題は、アプリケーションのどの場所でもデータベースを更新できないことです。これを行うたびに、以下に示すように楽観的ロック例外が発生します....

データは最初に読み取られて、選択および編集できるjsfのデータテーブルのWebページに表示されます。他のスレッドが実行されていないことはわかっています。これは、以前に保存されたレコードを編集するためだけでなく、新しいレコードスローを作成するためでもあります同じ例外。チームメイト全員がこの問題を抱えていないので、コードに問題がないことはわかっています。私はチームの新人です。そして、これは、新しいレコードを作成する場合でも、既存のレコードを変更する場合でも、アプリケーションのあらゆる場所で発生します。デバッグしようとしましたが、到達できる深さは entityManager.persist(entity); です。この時点で例外がスローされます。もっと深く潜る方法はありますか?このコードを使用するすべての人がこの問題を抱えていないため、ここでコードサンプルは必要ないと思います。チームから既製のコードを受け取り、セットアップしました。問題の原因は何ですか? 他の情報が必要な場合はお知らせください。