このプロジェクトでは、Quarkus、Hibernate Search、Elasticsearchを使用して、フルテキスト検索機能を備えたWebアプリケーションを紹介します。
こちらのデモビデオをご覧ください。
Quarkusの詳細については、そのWebサイトhttps://quarkus.io/をご覧ください。
アプリケーションでは、localhost:9200でElasticsearchを利用できる必要があります。 Dockerを使用すると、この方法でElasticSearchを開始できます。
docker run --rm -ti --ulimit memlock=-1:-1 --memory-swappiness=0
--name acme_elasticsearch -e xpack.security.enabled=false -e discovery.type=single-node
-e " ES_JAVA_OPTS=-Xms1g -Xmx1g " -p 9200:9200 elastic/elasticsearch:7.16.3開発モードでは、QuarkusはDEVサービスのおかげでPostgreSQLインスタンスを自動的に開始します。
アプリケーションを生産モードで実行する場合は、PostgreSQLをLocalHost:5432で利用できるようにする必要があります。 Dockerを使用すると、この方法でpostgreSqlを開始できます。
docker run -ti --rm --ulimit memlock=-1:-1 --memory-swappiness=0
--name acme_postgresql -e POSTGRES_USER=acme -e POSTGRES_PASSWORD=acme
-e POSTGRES_DB=acme_db -p 5432:5432 postgres:13.1以下を使用してライブコーディングを可能にするDEVモードでアプリケーションを実行できます。
./mvnw compile quarkus:dev注: Quarkusには、http:// localhost:8080/q/dev/でのみDevモードで利用可能なDev UIが付属しています。
アプリケーションは以下を使用してパッケージ化できます。
./mvnw package target/quarkus-app/ディレクトリでquarkus-run.jarファイルを生成します。依存関係がtarget/quarkus-app/lib/ディレクトリにコピーされているため、それはユーバーjarではないことに注意してください。
このアプリケーションはjava -jar target/quarkus-app/quarkus-run.jarを使用して実行可能になりました。
ユーバージャールを構築する場合は、次のコマンドを実行します。
./mvnw package -Dquarkus.package.type=uber-jarユーバージャールとしてパッケージ化されたアプリケーションは、 java -jar target/*-runner.jarを使用して実行可能になりました。
以下を使用してネイティブ実行可能ファイルを作成できます。
./mvnw package -Pnativeまたは、graalvmをインストールしていない場合は、以下を使用してコンテナでネイティブ実行可能ファイルビルドを実行できます。
./mvnw package -Pnative -Dquarkus.native.container-build=true次に、ネイティブ実行可能ファイルを: ./target/quarkus-hibernate-search-starter-demo-1.0.0-SNAPSHOT-runner Target/Quarkus-hibernate-search-starter-demo-1.0.0-snapshot-runnerで実行できます
ネイティブの実行可能ファイルの構築について詳しく知りたい場合は、https://quarkus.io/guides/maven-toolingに相談してください。