スタンドアロン JBoss AS7 で REST API を作成し、hibernate を JPA プロバイダーとして使用し、Infinispan を 2 番目のレベルのキャッシュとして使用しました。
https://docs.jboss.org/author/display/ISPN/Write-Through+And+Write-Behind+Cachingで、 Infinispanが write-behind メソッドを使用して、キャッシュからデータベースであり、これは私のプロジェクトに必要なものです。
この機能を有効にしたいのですが、その方法がどこにも見つかりません。
それが役立つ場合は、なぜこの動作が必要なのかを説明できます。Stat というエンティティ クラスがあります。そのクラスには、次のような int バランス値があります。
@Entity
public class Stat{
private int balance;
}
REST メソッドの 1 つは、そのバランスに同時にアクセスし、そこから 1 を引いて、データベースで更新します。これにより、多くのスレッドがロックを取得してデータベースの残高を読み取って更新しようとするため、プロジェクトにボトルネックが生じます。
そのため、おそらく Infinispan を使用してメモリ内のバランスを更新し、Infinispan にデータベースへの変更を非同期的に保持させることができると考えました。
どんな助けでも大歓迎です。