問題タブ [db4o]
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.
c# - Webアプリケーションでdb4oIObjectContainerを使用する方法は?(コンテナの寿命?)
ASP.NETMVCプロジェクトの永続性についてdb4oを評価しています。
オブジェクトの存続期間に関して、WebコンテキストでIObjectContainerをどのように使用する必要があるのか疑問に思っています。私が見ているように、私は次のいずれかを行うことができます。
- アプリケーションの起動時にIObjectContainerを作成し、アプリケーションの存続期間全体にわたって同じインスタンスを維持します。
- リクエストごとに1つのIObjectContainerを作成します。
- サーバーを起動し、データベースの相互作用ごとにクライアントIObjectContainerを取得します。
パフォーマンスと同時実行性の観点から、これらのオプションの意味は何ですか?
IObjectContainerを開くとデータベースがロックされるため、オプション2)で同時実行性に関する問題が発生することは間違いありません。これは、オプション1にも当てはまりますか?
私が理解しているように、IObjectContainerからオブジェクトを取得する場合、db4oがそれを同じオブジェクトとして識別するために、同じIObjectContainerインスタンスによってオブジェクトを保存する必要があります。したがって、オプション3)を選択した場合、元のオブジェクトを取得し、必要な変更を加えて(変更されたオブジェクトからデータをコピー)、同じIObjectContainerを使用して保存する必要があります。これは本当ですか ?
.net - 信頼度が中程度の複数のアプリケーション インスタンスで db4o を使用する
私は最近、オブジェクト データベース エンジンdb4oに出くわしました。これは非常に興味深いと思います。中程度の信頼の下で共有ホスティング環境に展開される ASP.NET MVC アプリケーションで使用したいと考えています。信頼レベルのため、組み込み/インプロセス モードでの db4o の使用に制限されています。
それ自体は問題ありませんが、ホスティング プロバイダーは、共有ストレージを使用して複数の (負荷分散された) サーバー インスタンスで各 Web アプリケーションを透過的に実行します。ただし、書き込みアクセス権を持つ db4o サーバーのインスタンス (インプロセスまたはネットワーク化されているかどうか)は、基礎となるデータベース ファイルをロックするため、同じファイルを使用するアプリケーションの複数のインスタンスを持つことは機能しません (または、少なくとも方法がわかりません)。だろう)。
問題は、この特定の環境で db4o を使用できるかどうかです。
各アプリケーションに、レプリケーション (dRS) を使用してマスター データベースと同期する独自のデータベースを持たせることを検討しましたが、そのアプローチでは、非常に頻繁な双方向レプリケーション (各要求の開始時にマスターの変更を読み取り、変更するたびにマスターする) これはあまり効率的ではないと思います。
Web アプリケーション/環境の特徴の要約:
- 読み取り集中型 (完全に読み取り専用ではない)
- 変更が行われてからすべてのアプリケーション インスタンスのデータに変更が反映されるまでの遅延 (数秒) は許容されます。
- 中程度の信頼で実行する必要があります
- ロードバランサーが「スティッキー セッション」を使用する保証はない
すべての提案は大歓迎です!
c# - EmbeddedConfigurationのUniqueConstraint
C#でdb4oを使い始めたばかりですが、DBでUniqueConstraintを設定するのに問題があります。
これがdb4oの設定です
およびシリアル化するオブジェクト:
いくつかの値をコミットするたびに、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」。例外がポップアップし、UniqueFieldValueConstraintを指すスタックトレースが表示されます。また、「Initialize Indexes」コメントの後の2行をコメントアウトすると、すべてが正常に実行されます(問題である、一意でないキーを保存できる場合を除く)〜
コミットコード(この部分でも何か間違ったことをしている場合:)
助けてください?よろしくお願いします〜
database - データベースDB4Oでdistinctを使用する方法
次のようなデータ: file1 file2 aaaa milk aaaa red bbbb box bbbb pen cccc rose 次のような結果を取得したい: file1: aaaa bbbb cccc オンラインで待機中の DB4objects の使用方法を教えてくれる人....
java - Web アプリケーションから OSGi サービスを使用するには?
HTTP OSGi service から起動される Web アプリケーションを開発しようとしています。このアプリケーションは、BundleContext
. Web アプリケーションで OSGi コンテキストを取得するために、次の 2 つの異なる方法を試しました。
- のを、Web サービスがインポートして使用できるクラスの静的フィールドに
BundleContext
格納します。Activator
FrameworkUtil.getBundle(this.getClass()).getBundleContext()
( Web アプリケーションのクラスであるthis
のインスタンス) を使用します。MainPage
最初のオプションは完全に間違っていると思いますが、とにかく両方のオプションでクラスローダーに問題があります。2番目のものでは、次のようになりますLinkageError
:
Equinox でも試してみましたが、同様のエラーが発生しました。
例外を引き起こすコードは次のとおりです。
最後の行で例外が発生します。database
クラスはObjectContainer
、この変数の型をObject
例外に変更すると、発生しませんが、Object
:)としては役に立ちません
更新: db4o の代わりに他のサービスを使用しようとしましたが、期待どおりに機能しました。おそらく、db4o OSGi バンドルが独自のクラスをロードするときに奇妙な動作をするか、正しく使用していない可能性があります。非 Web バンドルから使用する場合にも機能します。
db4o - Db4o Mvc アプリケーション アーキテクチャ
私は現在、asp.net MVC 2 アプリケーションのアイデアのために Db4o をテストしていますが、続行する最善の方法についてよくわからないことがいくつかあります。
アプリケーションでエンティティを参照するために Id ではなく推測可能なルートを使用したいのですが、更新シナリオには何らかの Id が必要だと思います。
たとえば、私は欲しい
/country/1 の代わりに /country/usa
ただし、キー名を変更したい場合があります(おそらく国ではなく他のエンティティで)ので、フィールドを更新する前にオブジェクトを取得するための参照として使用する ID が必要だと考えています。他のコメントから、UUID を使用するには少し時間がかかるようで、問題を明確に分離するためにとにかく自分の ID を使用することを好むようです。
KandaAlpha プロジェクトの両方を見て、私はデザインのいくつかの側面にあまり熱心ではなく、[domainsignature] や EntityWithTypedId、IEntityDuplicateChecker、IHasAssignedId、BaseObject、および IValidatable などを使用する S#arp アーキテクチャのラインに沿ったものを好みます。それらのエンティティは、挿入/更新動作を制御します。これは、よりクリーンで拡張性が高く、検証をカバーし、コアおよびベース リポジトリ クラス内にうまくカプセル化されています。
では、S#arp アーキテクチャを Db4o に移植することは理にかなっているでしょうか。
また、Db4o でインデックス (上記のユニークなものを含む) を管理するためのベスト プラクティスはありますか? たとえば、モデル メタデータ ベースで、ブートストラップで DI を使用してロードする必要がありますか、それとも Automapper.CreateMap のようにロードする必要がありますか?
私が知っているその少しとりとめのない質問ですが、考え、アイデア、または提案された読み物は大歓迎です。
ありがとうマック
java - Android 用の db4o をインストールして使用する方法は?
私はJavaとAndroidが初めてであることを認めなければなりません。db4o は、SQLite http://developer.db4o.com/Platforms/Java/Android.aspxを置き換える優れた DB フレームワークのようです。Android アプリケーションに使用したいと考えています。方法がわかりません: db4o を Android フォンにインポート/インストール/アタッチ/アップロードします。JAR ファイル db4o-7.12.132.14217-all-java5.jar を Android フォンにアップロードしてアプリケーションから呼び出せるようにするには、どこに配置すればよいですか? ご教授ください!どうもありがとう!!!
編集
答えに加えて、ここに公式ドキュメントがあります: http://developer.db4o.com/Documentation/Reference/db4o-7.4/net2/reference/html/reference/platform_specific_issues/android.html
java - Db4oEmbedded EmbeddedConfiguration の一意キー制約の設定
Db4oEmbedded EmbeddedConfiguration に一意のキー制約を設定したいと考えています。
ここに私のコードがあります:
最後の行は例外をスローします。どうしてか分かりません。Android SDK 1.5 と db4o 7.12 for Java を実行しています。ご教授ください。ありがとう!
.net - .netのdb4oに接続するときにWindows統合認証を使用しますか?
db40サーバーに対してクライアントを開くとき、ユーザー名とパスワードを期待しているようです
代わりに統合されたウィンドウを使用する方法はありますか?