問題タブ [gigaspaces]
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 - ギガスペース LRMI Java ヒープ スペース OutOfMemoryError
java.lang.OutOfMemoryError: Java heap space on light remote method invocation protocol (and watchdog)を取得しています。以下のログを見ることができます。なぜこれが起こるのか、そしてそれを解決する方法を知っている人はいますか?
私が試したのは、エージェント、コンテナー、ルックアップ サービス、およびマネージャーの最大ヒープ サイズを変更することです。
これも役に立ちませんでした。それは理にかなっています-lrmi関連の問題のためにヒープが失敗していますが、それを解決するのに役立つ設定が表示されません.
4 GSM 4 LUS 16 GSC (または 8 GSC) 8 プライマリ パーティションと 8 バックアップ (または 8 プライマリのみ) の 8 サーバー構成があります。スペースにオブジェクトを 1 つずつ挿入/書き込みしようとすると、エラーが発生します。約 200000 に達すると (この数に達する最初のパーティションは上記の例外で失敗します。RAM がまだフィールドになっていないことがわかります - そこにはまだスペースがあります (8GB - 3.5GB 使用 - 約 4GB 空き)。
また、問題の原因となっている FastConcurrentSkipListMap のイテレータに関する GSC コンソール (ログには見つかりませんでした) にいくつかの追加情報が表示されます。
gigaspaces フォーラムの質問にアクセスしたい場合は、ここをクリックしてください。
java - ElasticSpaceDeployment の GigaSpaces XAP 永続性をプログラム的に構成する方法を教えてください。
私は GigaSpaces XAP 9.6 を使用しており、展開時に永続性構成 (SpaceDataSource、SpaceSynchronizationEndpoint) を渡すことにより、ElasticSpaceDeployment (スペースのみの PU) をプログラムで (管理 API を介して) 展開したいと考えています。
今のところ、ElasticSpaceDeployment を永続性構成なしでプログラムで展開できます (GSM は PU を展開するために "DEFAULT" スペース スキーマを選択します)。しかし、展開時に永続性構成をセットアップしたり、スペーススキーマを「PERSISTENT」に設定したりするための API が見つかりません。
「DEFAULT」スキーマを使用して PU をデプロイし、UrlSpaceConfigurer を使用して次のような永続性を構成しようとしました。
GigaSpace gigaSpace = new GigaSpaceConfigurer(new UrlSpaceConfigurer("jini://...") .schema("persistent") .cachePolicy(new LruCachePolicy()) .spaceSynchronizationEndpoint(...) .spaceDataSource(...) .space ()).gigaSpace();
上記のコードを使用すると、見つかったスペースが返される (存在する場合) か、新しいスペースが作成される (存在しない場合) ことがわかっています。したがって、このコードは、スペース構成を取得する代わりに再構成しようとはしていません。
さらに、ElasticSpaceDeployment をデプロイすると、GS はこの PU 用のスペースを「DEFAULT」スキーマ (持続性構成なし) で自動的に作成します。そう ....
1) デプロイ時に ElasticSpaceDeployment PU の持続性構成を定義するにはどうすればよいですか?
2) または、スペースの永続性構成を再構成するにはどうすればよいですか? (デプロイして後で再構成します)
ご協力いただきありがとうございます!
java - MavenでIntelliJを構築するときのPermGenエラーを解決しますか?
Maven を使用して IntelliJ でプロジェクトをビルドするときに、アプリ サーバーから PermGen OutOfMemoryError を受け取った場合、Maven が使用するヒープを増やす必要がありますか? 私はWin7、8GB RAMを使用しており、mavenでプロジェクトを再構築するときにアプリケーションサーバーからPermGenを取得しています。
java - Gigaspaces クラスターでの Web アプリケーション SLA
今日、スペースが埋め込まれた Web アプリケーション (.war として) をクラスター Service Grid にデプロイする必要があります。しかし、pu.xml で sla プロパティを定義すると、1 つのインスタンスのみがデプロイされます。
次のリンクで私のソースコードを見ることができます -これ
java - ギガスペース: 動的な「テンプレート クラス」の読み込みにより、TypeManager.registerTypeDescriptor(Class) で「ClassNotFoundException」が発生する
ギガスペース 9.6、Java 6
SYSTEM CLASS PATH にない外部 .jar ファイルからモジュールのクラスを動的にロードするモジュール システムを開発しています。各モジュールには独自のクラス ローダーがあります (サンドボックス化の目的で)。外部 jar から TEMPLATE CLASS をロードして TypeManager に登録すると、ClassNotFoundException が発生します。
(テンプレートクラスを含む .jar をシステムクラスパスに追加することで回避しようとしましたが、うまくいきました!これは、LRMI の動的クラスローディングが正常に機能していることを示しています。)
スタック トレースは次のとおりです。
警告: 非同期実行に失敗しました: java.lang.ClassNotFoundException: DefaultClassProvider [4756891978928899637] は、指定されたクラス ローダー [1] で必要なクラス [employeedb.dto.Employee] を見つけることができませんでした。 =>RegisterEntryTypeDescriptorSpaceOperationRequest[typeName=employeedb.dto.Employee,checksum=1804124240,gatewayProxy=false] SEVERE: org.openspaces.core.SpaceMetadataException: registerTypeDescInServers() リモート タスクの実行でエラーが発生しました。TypeName=employeedb.dto.Employee; ネストされた例外は java.lang.ClassNotFoundException です: DefaultClassProvider [4756891978928899637] は、org.openspaces.core.exception.DefaultExceptionTranslator の指定されたクラスローダー [1] で必要なクラス [employeedb.dto.Employee] を見つけることができませんでした。
私の質問は:
クラスが通常の LRMI サーバー (GSC) / LRMI クライアントの CLASS PATH に存在しない場合、クラスのロードを外部 jar に委譲する独自のクラス ローダーを実装できますか?
sql - ギガスペース内のオブジェクトのエージング
私はGigaspacesにかなり慣れていません。ポーリング コンテナーを使用してスペースからイベントをフェッチし、HTTPS 接続を介してこれらをディスパッチしています。接続のサーバー エンドポイントが利用できなくなった場合は、イベント オブジェクトの状態を「ブロック済み」に更新し、後で再試行するためにスペースに再キューイングする必要があります (そのために、ブロックされたものを特に探す別のポーリング コンテナーがあります)。イベント)。
私が苦労しているのは、ブロックされたイベント ポーリング コンテナーがブロックされたイベントで過剰に回転しないようにする良い方法を見つけることです (つまり、イベントを読み取り、エンドポイントがまだブロックされていることを発見し、それらをスペースに書き戻し、すぐに読み直してください)。
スペースからイベントを再読み取りするのを遅らせる方法はありますか。オプションには次のものがあります。
- 書き戻す前にオブジェクトのタイムスタンプを設定/更新し、これをポーリング プロセス内の現在の時刻と比較します (このためには、SYSDATE を EventTemplate として含む SQLQuery を使用する必要があると思いますが、そうしなければならないでしょうか?リンゴとリンゴを確実に比較するために、System.currentTimeMillias などを使用するのではなく、オブジェクトを更新するたびにスペースから SYSDATE をクエリしますか?)
- ブロックされたイベント ポーリング コンテナーまたはリスナーに何らかの構成設定を適用して、定期的にのみポーリングするようにします。
classpath - ギガスペース: PU のランタイム依存関係を持つディレクトリを設定します
プロセッシング ユニットにはランタイム依存関係があり、それらを $GigaSpaces_root/lib/required に配置すると、PU は正常にデプロイされます。
しかし、GS ルート ディストリビューションを接続しないで (ルートが所有していても)、これらのライブラリを他のカスタム ディレクトリに配置したいと考えています。しかし、カスタム ディレクトリで依存関係を探すように GS を構成する方法が見つかりません。PRE_CLASSPATH、CLASSPATH、POST_CLASSPATH は役に立ちません。その他の有用な変数は、GS の初期化時に setenv.sh によって上書きされます。私がやったこと:
問題は、カスタム ディレクトリでライブラリを検索するように GS を構成する方法です。
java - gigaspaces gs.bat で Java コマンドを実行できない
java 1.7.0_55-b13 を使用して gigaspaces 9.7.1-ga-b10800 gs-agent.bat (gs.bat を呼び出す) を実行しようとしています。echo-ing を使用して、次の行で問題を追跡しました
gs.bat から。
何か不足していますか?gigaspaces と Java の一部のバージョンが互換性があるかどうかを確認できる場所はありますか?
Java バージョン 1.6 は、このバージョンのギガスペースで正常に動作します。
私はこれを読みました:
バージョン 8.0 以降、GigaSpaces XAP は Java 1.5 SDK をサポートしなくなり、Java 1.6 SDK 以降を使用する必要があることに注意してください。Java 1.4 & 1.5 SDK EOL の詳細については、次のページを参照してください: http://java.sun.com/products/archive/eol.policy.html
しかし、Java 7 と gigaspaces 9.7.1 については何も述べていません。
正確なコマンドは次のとおりです ([SOME...] は他の文字列を表します):
出力は次をレンダリングします。
Java バージョン "1.7.0_55" Java(TM) SE
ランタイム環境 (ビルド 1.7.0_55-b13)
Java HotSpot(TM) 64 ビット サーバー VM (ビルド 24.55-b03、混合モード)使用法: java [-options] class [args...]
(クラスを実行する場合) または java [-options] -jar jarfile [args...]
(jar ファイルを実行する場合)-d32
利用可能な場合は 32 ビット データ モデルを使用します
。
敬具、
専制君主