Skip to main content

共通アプリケーションプロパティ

JHipsterはSpring Bootアプリケーションを生成し、標準のSpring Bootプロパティの仕組みを使用して設定できます。

これらのプロパティはJHipsterによって生成時に設定され、開発モードとプロダクションモードで異なる値を持つことがよくあります。詳細については、プロファイルのドキュメントをご参照ください。

Spring Boot標準アプリケーションプロパティ

他のSpring Bootアプリケーションと同様に、JHipsterでは任意の標準Spring Bootアプリケーションプロパティを設定できます。

JHipsterアプリケーションプロパティ

JHipsterは、JHipsterサーバーサイドライブラリからの特定のアプリケーションプロパティを提供します。これらのプロパティはすべてのJHipsterプロジェクトで標準化されていますが、一部はアプリケーションを構築するときに選択した内容に応じてのみ機能します。例えば、jhipster.cache.hazelcastキーは、Hibernateの2次キャッシュにHazelcastを選択した場合にのみ機能します。

これらのプロパティはio.github.jhipster.config.JHipsterPropertiesクラスを使用して設定されます。

以下はそれらのプロパティのドキュメントです:

jhipster:

# JHipsterの非同期メソッド呼び出しに使用されるスレッドプール
async:
core-pool-size: 2 # 初期プールサイズ
max-pool-size: 50 # 最大プールサイズ
queue-capacity: 10000 # プールのキュー容量

# JHipsterゲートウェイの特定の設定
# JHipsterゲートウェイの詳細はhttps://www.jhipster.tech/api-gateway/を参照
gateway:
rate-limiting:
enabled: false # デフォルトでレート制限は無効
limit: 100_000L # デフォルトで100,000件のAPI呼び出しを許可
duration-in-seconds: 3_600 # デフォルトでレート制限は1時間ごとにリセット
authorized-microservices-endpoints: # アクセス制御ポリシー、ルートが空の場合、すべてのエンドポイントがアクセス可能
app1: /api # 推奨される本番設定、"app1"マイクロサービスのすべてのAPI呼び出しへのアクセスを許可

# HTTP設定
http:
cache: # io.github.jhipster.web.filter.CachingHttpHeadersFilterによるキャッシュ
timeToLiveInDays: 1461 # 静的アセットはデフォルトで4年間キャッシュ

# Hibernateの2次キャッシュ、CacheConfigurationで使用
cache:
hazelcast: # Hazelcast設定
time-to-live-seconds: 3600 # デフォルトでオブジェクトは1時間キャッシュ
backup-count: 1 # オブジェクトのバックアップ数
# Hazelcast管理センターの設定
# 完全な参照はhttp://docs.hazelcast.org/docs/management-center/3.9/manual/html/Deploying_and_Starting.htmlにあります
management-center:
enabled: false # デフォルトで管理センターは無効
update-interval: 3 # 管理センターへの更新は3秒ごと
# JHipsterのDocker Compose構成でHazelcast管理センターを使用する場合のデフォルトURL
# src/main/docker/hazelcast-management-center.ymlを参照
# 注意: ポート8080は既にJHipsterで使用されているため、デフォルトポートは8180です
url: http://localhost:8180/mancenter
ehcache: # Ehcache設定
time-to-live-seconds: 3600 # デフォルトでオブジェクトは1時間キャッシュ
max-entries: 100 # 各キャッシュエントリ内のオブジェクト数
caffeine: # Caffeine設定
time-to-live-seconds: 3600 # デフォルトでオブジェクトは1時間キャッシュ
max-entries: 100 # 各キャッシュエントリ内のオブジェクト数
infinispan: # Infinispan設定
config-file: default-configs/default-jgroups-tcp.xml
# ローカルアプリケーションキャッシュ
local:
time-to-live-seconds: 60 # デフォルトでオブジェクトは1時間(分単位)キャッシュ
max-entries: 100 # 各キャッシュエントリ内のオブジェクト数
# 分散アプリケーションキャッシュ
distributed:
time-to-live-seconds: 60 # デフォルトでオブジェクトは1時間(分単位)キャッシュ
max-entries: 100 # 各キャッシュエントリ内のオブジェクト数
instance-count: 1
# 複製アプリケーションキャッシュ
replicated:
time-to-live-seconds: 60 # デフォルトでオブジェクトは1時間(分単位)キャッシュ
max-entries: 100 # 各キャッシュエントリ内のオブジェクト数
# Memcached設定
# Xmemcachedライブラリを使用、詳細はhttps://github.com/killme2008/xmemcachedを参照
memcached:
# devモードでデフォルトで無効、Spring Boot devtoolsと非互換
enabled: true
servers: localhost:11211 # サーバーアドレスのカンマまたは空白区切りリスト
expiration: 300 # キャッシュの有効期限(秒単位)
use-binary-protocol: true # パフォーマンス(およびセキュリティ)のためにバイナリプロトコル推奨
authentication: # 認証が必要な場合はこのパラメータで設定、デフォルトで無効
enabled: false
# username: デフォルトでは未設定
# password: デフォルトでは未設定
redis: # Redis設定
expiration: 3600 # デフォルトでオブジェクトは1時間(秒単位)キャッシュ
server: redis://localhost:6379 # サーバーアドレス
cluster: false
connectionPoolSize: 64,
connectionMinimumIdleSize: 24,
subscriptionConnectionPoolSize: 50,
subscriptionConnectionMinimumIdleSize: 1

# Eメールプロパティ
mail:
enabled: false # Eメール送信が有効かどうか。標準の`spring.mail`キーを設定する必要あり
from: jhipster@localhost # Eメールのデフォルトの"送信元"アドレス
base-url: http://127.0.0.1:8080 # Eメール内で使用されるアプリケーションのURL

# Spring Security特定の設定
security:
remember-me: # セッションベースの認証用のJHipster安全なRemember-me実装
# セキュリティキー(アプリ固有で秘密にしておくことが推奨)
key: 0b32a651e6a65d5731e869dc136fb301b0a8c0e4
authentication:
jwt: # JHipster固有のJWT実装
# シークレットトークンはBase64でエンコードされる必要があります(コマンドラインで`echo 'secret-key'|base64`と入力できます)。
# 両方のプロパティが設定されている場合、`secret`プロパティが`base64-secret`プロパティより優先されます。
secret: # JWTシークレットキー(非推奨)
base64-secret: # 推奨のBase64エンコードされたJWTシークレットキー
token-validity-in-seconds: 86400 # トークンは24時間有効
token-validity-in-seconds-for-remember-me: 2592000 # Remember meトークンは30日間有効

# Swagger設定
swagger:
default-include-pattern: /api/.*
title: JHipster API
description: JHipster APIドキュメント
version: 0.0.1
terms-of-service-url:
contact-name:
contact-url:
contact-email:
license:
license-url:
host:
protocols:

# DropWizardメトリクス設定、MetricsConfigurationで使用
metrics:
jmx: # メトリクスをJMXビーンとしてエクスポート
enabled: true # デフォルトでJMX有効
# Graphiteサーバーにメトリクスを送信
# Graphite依存関係を取得するには「graphite」Mavenプロファイルを使用
graphite:
enabled: false # デフォルトで無効
host: localhost
port: 2003
prefix: jhipster
# Prometheusサーバーにメトリクス送信
prometheus:
enabled: false # デフォルトで無効
endpoint: /prometheusMetrics
logs: # Dropwizardメトリクスをログに出力
enabled: false
reportFrequency: 60 # レポート頻度(秒単位)

# ログ設定、LoggingConfigurationで使用
logging:
logstash: # ソケット経由でLogstashにログを転送
enabled: false # デフォルトで無効
host: localhost # LogstashサーバーURL
port: 5000 # Logstashサーバーポート
queue-size: 512 # ログのバッファリング用キュー
spectator-metrics: # Netflix Spectatorメトリクスをログに出力
enabled: false # デフォルトで無効

# デフォルトで、クロスオリジンリソース共有(CORS)は「dev」モードの
# モノリスおよびゲートウェイで有効です。
# セキュリティ上の理由から「prod」モードおよびマイクロサービスではデフォルトで無効になっています
# (アクセスにはゲートウェイを使用することが前提とされています)。
# これは標準のorg.springframework.web.cors.CorsConfigurationを設定します
# JWTベースのセキュリティを使用する場合、「exposed-headers」は必須です。
# これは「Authorization」ヘッダーを使用し、デフォルトの公開ヘッダーには含まれていません。
cors:
allowed-origins: "*"
allowed-methods: "*"
allowed-headers: "*"
exposed-headers: "Authorization"
allow-credentials: true
max-age: 1800

# JHipsterアプリケーションの左上に表示されるリボン
ribbon:
# リボンを表示するプロファイルのカンマ区切りリスト
display-on-active-profiles: dev

アプリケーション固有のプロパティ

生成されたアプリケーションには独自のSpring Bootプロパティも持たせることが可能です。これは、型安全なアプリケーション構成やIDE内での自動補完やドキュメント化が可能となるため、非常に推奨されます。

JHipsterは、configパッケージ内にApplicationPropertiesクラスを生成しており、このクラスはすでに設定済みで、application.ymlapplication-dev.yml、およびapplication-prod.ymlファイルの下部にドキュメント化されています。特定のプロパティを独自にコードするだけです。