問題タブ [terracotta]
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 - Terracotta のコンテキストで「それはメモリをデルタ化する」とはどういう意味ですか?
春のレシピ本を読んでいます。テラコッタについて述べられている特定のことを理解することができません。
以下は本の一節
Terracotta は、目に見える API がなく、変更された状態をクラスター全体のノードに伝達するのにはるかに効率的であるため、現在のほとんどのクラスター化されたキャッシュとは異なります。ほとんどのシステムは、ある種の Java シリアライゼーションまたはブロードキャスト メカニズムを使用します。このメカニズムでは、新しい状態を認識する必要があるかどうかに関係なく、変更されたオブジェクト全体またはオブジェクト グラフが他の各ノードに与えられます。Terracotta はそれを別の方法で行います。オブジェクト グラフ自体のメモリをデルタ化し、オブジェクトの状態の一貫したビューが必要なため、クラスター内の他のノードを同期します。簡潔に言うと、オブジェクト全体ではなく、オブジェクト内の更新された変数を 1 つだけ送信するのと同じようなことを行うことができます。
シリアライゼーションのようなものを使用してクラスター間でオブジェクトを送信しないことは理解できますが、「それはメモリをデルタ化します」とはどういう意味ですか?
ehcache - JTAを使用して動作する分散Ehcache
Terracotta Ehcache (オープン ソース)を使用して、分散トランザクション メモリのベンチマークを実行しようとしています。JTAでの動作を理解するのに問題があります。コードでは、分散トランザクションに関心のあるキャッシュが、JTA を使用して後で 2 フェーズ コミットを実行するリソースとして参加することがわかりました。
私の質問は、1 つのキャッシュのみがリソースとして登録されている場合、JTA が分散設定で他のすべてのキャッシュをアトミックに更新するにはどうすればよいですか? 他のキャッシュ参照を JTA に渡さないため、アトミックな更新は行われません。ここにいくつかの文字列が欠けているように感じます。誰かがそれがどのように機能するか説明できますか? 私も J2EE を初めて使用します。JTA への他のキャッシュの自動参照渡しを可能にする J2EE の概念が欠けていますか?
hibernate - HibernateペシミスティックロックはEHCache/Terracottaで配布されますか?
HibernateはJavaトランザクションの開始時に悲観的ロックを実装できますか、それともJavaレルムでのすべての作業が完了したときに適用される悲観的ロックに依存し、変更はデータベーストランザクションの一部としてデータベースに適用されますか? ?
リモートWebサービスへの呼び出しが行われる途中のJavaトランザクションがあるので、これは非トランザクションであるため、ロールバックできません。Hibernateが処理対象のデータに対して悲観的なロックを保持している場合、Hibernateは別のスレッドがそれらのデータにすでに動作していることを認識しているため、トランザクションの処理をブロックする必要があります。Hibernateがそのようなロック自体を追跡しない場合、Javaトランザクションは続行され、Webサービスが呼び出され、DBコミットがブロックされます。
私が本当にやりたいのは、Javaトランザクションを開始し、別のスレッドが別のトランザクションを開始しようとし、関連するデータに対してすでに進行中のトランザクションがあるため、ブロック/失敗することです。
HibernateがEHCacheを2LCとしてTerracottaと分散して使用する場合、ロック動作はどのように影響を受けますか?
terracotta - Terracotta BigMemory を使用した Broadleafdemo
Terracotta BigMemory を使用して Broadleaf eCommerce Java ソリューションを構成する方法を理解しようとしています-アプリケーションベースの休止状態-ブロードリーフ-コマース
Terracotta BigMemory を使用するように Broadleafdemo を構成するにはどうすればよいですか? 「オフヒープ」コンポーネントを持つように bl-override-ehcache.xml を変更するのと同じくらい簡単ですか?
Terracotta BigMemory を使用するにはライセンスが必要だと思いますか?
caching - Java でのデータ キャッシング
Java で分散アプリケーションを開発しようとしています。データキャッシング用のどのツールが優れていますか??
JBoss キャッシュ
インフィニスパン
エーカシェ
テラコッタキャッシュ??
java - Javaとクラスタリングのさまざまなタイプ/方法
私はJavaEEに比較的慣れておらず、クラスター化できるさまざまなタイプのシステムについてすでに耳にし始めています。
- 仮想マシン(つまり、「そのアプライアンスはVMのクラスターです...」)
- Tomcat、JBoss、GlassFishなどのアプリケーションサーバー(つまり、「クラスター化されたJBossを実行しています...」)
- TerracottaのようなクラスタリングAPI
- Oracleなどのデータベース(「クラスター化されたデータベース」)
- クラウドアプリケーション(「クラウドは基本的にクラスターです...」)
ウィキペディアでは、「クラスタリング」を次のように定義しています。
コンピュータークラスターは、多くの点で単一のシステムと見なすことができるように連携して動作する、ゆるく接続されたコンピューターのセットで構成されます。
これらの「クラスタータイプ/メソッド」(上記)のそれぞれでクラスタリングがどのように機能し、それらが互いにどのように関連しているか疑問に思っています。
たとえば、クラスター化されたアプリケーションを使用することでメリットが得られる場合は、クラスター化されたアプリサーバーにそれらを配置してから、クラスターマネージャーを組み合わせます(これもTerracottaのように)。
しかし、「クラスタリング」というフレーズはあいまいで曖昧な方法で使用されているように見えるので、これらのそれぞれが他のものとどのように結びついているか、あるいはそれらがどのように結びついているかはわかりません。この織り交ぜられた用語を理解するのを手伝ってくれる勇敢なStackOverflowersに事前に感謝します!
java - 複数のスレッドがJavaの同じモニターでロックを保持できますか?
現在、Tomcatスレッドダンプを分析しています。Tomcatで同時に実行されているすべてのスレッドのシングルスレッドダンプには、次の行が含まれています。
特にわかりません
私たちの理解では、3つのスレッドがその時点で同じモニターにロックを保持していると言います。私たちの理解とJLSによると、これは不可能です。
スレッドダンプの解釈は正しいですか?
hibernate - terracotta-hibernate-cacheとEhcacheDistributedwith Terracottaの違いは何ですか?
EhcacheをHibernateの第2レベルのキャッシュプロバイダーとして使用することと、Terracottaで配布することと、とを使用することには違いがterracotta-hibernate-cache
ありterracotta-hibernate-agent
ますか?
java - EhCache POM の動作がおかしい
先月、M2E Eclipse プラグインを使用して EhCache jar をローカルの Maven キャッシュにプルダウンすることができなかったため、この質問をしました。
現在、いくつかの EhCache/Terracotta POM ファイルを Ivy XML ファイルに変換しようとしていIvyConvertPom
ます (タスクを使用して (ローカル リポジトリ内の他のすべての POM で完全に正常に動作します - そして何百もあります)、次のように述べています。
指定された pom ファイルを ivy ファイルに変換できません: java.io.IOException: ファイルの親を読み込めません:/C:/Users/myUser/jars/net/sf/ehcache/ehcache-terracotta-root/2.5.0/ehcache- terracotta-root-2.5.0.pom. Parent=org.terracotta.forge#forge-parent;2.3 from=C:/Users/myUser/jars\net\sf\ehcache\ehcache-terracotta-root\2.5.0\ehcache-terracotta-root-2.5.0. pom to=C:/Users/myUser/jars\net\sf\ehcache\ehcache-terracotta-root\2.5.0\ivy.xml
C:/Users/myUser\jars\net\sf\ehcache のアーティファクトが見つかりませんでした\ehcache-terracotta-root\2.5.0\ehcache-terracotta-root-2.5.0.pom
これは、次のすべての EhCache/Terracotta アーティファクトで発生しています。
net\sf\ehcache\ehcache-terracotta\2.4.7\ehcache-terracotta-2.4.7.pom
net\sf\ehcache\ehcache-terracotta\2.5.0\ehcache-terracotta-2.5.0.pom
net\sf\ehcache\ehcache-terracotta-root\2.4.7\ehcache-terracotta-root-2.4.7.pom
net\sf\ehcache\ehcache-terracotta-root\2.5.0\ehcache-terracotta-root-2.5.0.pom
この問題が私が先月抱えていた問題に関連しているのか、それとも EhCache の開発者が POM を記述する非標準的な方法を持っているだけなのかはわかりませんが、Maven IvyConvertPom
(フード) は、瓶で何かをすることに窒息しました。
明らかなこととして、何かが飛び出しますか?それ以外の場合は、Ivy コードをデバッグする必要があります。これは、水曜日を締めくくるのに苦痛な方法のように思えます。必要に応じてやりますが、何かギラギラしたものが足りない場合に備えて、最初にここで質問すると思いました.
前もって感謝します!
java - Terracottaの永続データの場合、クラスを進化させる方法は?
次のプロジェクトではテラコッタを検討しています。個別のDBMSを必要とせずにデータの永続性を提供できる可能性に興味を持っています。( 永続ソリューションとしてのTerracottaの使用についても参照してください)
ソフトウェアの進化における大きな問題の1つは、既存の本番データを新しいデータモデルに準拠させることです。RDBMSの場合、展開時にSQL変更スクリプトを使用する可能性があります。テラコッタに裏打ちされたデータの場合、重要な進化に対処する方法はすぐにはわかりません。
Terracottaのドキュメントにはクラスの進化に関する段落がいくつかありますが、それはDSOに固有のようであり、かなり表面的なままです。
- Terracottaに保存されている永続データのデータモデルの進化を処理するための可能な方法は何ですか?私は特にDSO以外のシナリオに興味があります(つまり、Terracotta Toolkit APIを使用します)。
- TerracottaDSOとToolkitAPIは、進化したクラス定義に対する反応が異なりますか?
- クラスの進化の限界を理解するには、Terracottaがオブジェクトデータをどのように表現/通信するかを知ることが役立ちます。そのための仕様はありますか?
- たぶん、テラコッタに適用できるOODBMSの世界からのスキーマ進化技術がありますか?
簡単な例として、たくさんのCar
オブジェクトが保存されていて、クラスのmodelYear
フィールドをaからに変更したとします。ドキュメントによると、これはそのままでは機能しません。アプリケーションの起動時に古いクラスローダーが別のクラスローダーによってロードされ、新しいに変換されるソリューションを想像できます。それは良いアプローチでしょうか、そしてなぜ(そうではない)ですか?Car
String
int
Car
Car