ここでの私の目標は、2 つの別個のアプリケーション (1 つは Java で、もう 1 つは C++ で、どちらも同じマシン上にあります) を同じ SQLite データベースから読み取るようにすることです。C++ の実装は既に機能しており、その通信に必要なすべてのメソッドが含まれています。sqlite3.h ライブラリを使用します。
最初に行う合理的な方法は、Java アプリケーションで JDBC または SQLite ラッパーを使用することです。問題は、組み込みシステム (POSIX) のリソースが非常に限られており、必要な *.jar を組み込んだ場合、単純なクエリの実行に非常に時間がかかることです。Xerial JDBC、sqlite4java、sqljet、および Christian Werner の Javasqlite Wrapper/JDBC ドライバーを試しました。JavaVM は、すべてをロードして実行するのに時間がかかりすぎて、パフォーマンスが重大な問題になります。
回避策として、Java アプリケーションを管理して、システム コマンドを使用し、sqlite3 コマンド シェルを実行してクエリを実行し、回答を取得しました。より「スタイリッシュ」で安全なソリューションを探しています。
C++ のメソッドを使用するには、実際には Java アプリケーションが必要です。メソッドは 1 つの値のみを返すように実装されているため、文字列を返すだけです。多くの IPC を読んだ後、名前付きパイプを使用する必要があるという結論に達しました。問題は、JNI を使用する必要があるということですが、私は初心者の Java レベルを持っており、この頃には JNI は私には複雑すぎます。この場合、JNIはやり過ぎですか?
ここで実装できる他のソリューションは何ですか?