-
Notifications
You must be signed in to change notification settings - Fork 3
/
example.yml
88 lines (73 loc) · 3.9 KB
/
example.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---
app:
name: your-app
home: /path/to/your-app
jar: bin/your-app-assembly-0.1.0.jar
# entry_point: com.example.your_app.Main # You may specify the entry point.
# command: bin/your-app # If you don't want to java command directly, specify the command. (It's useful for Play application)
pid_file: your-app.pid # If the process id file is given, a duplicate launch is not allowed.
os:
user: app-user # verify running user
env: # customize environment variables
YOUR_APP_ENV_VAR1: 12345
YOUR_APP_ENV_VAR2: /path/to/xxx
java:
home: /usr/java/latest # will be set to JAVA_HOME
version: 1.8 # verify JDK version
server: true # will convert to `-server`
memory:
heap_min: 64M # will be `-Xms64M`
heap_max: 2G # will be `-Xmx2G`
# perm_min: 128M # will be `-XX:PermSize=128M`, not applicable to Java >= 8
# perm_max: 256M # will be `-XX:MaxPermSize=256M`, not applicable to Java >= 8
metaspace_min: 1G # will be `-XX:MetaspaceSize=1G`, not applicable to Java < 8
metaspace_max: 2G # will be `-XX:MaxMetaspaceSize=2G`, not applicable to Java < 8
new_min: 256M # will be `-Xmn256M`
new_max: 256M # will be `-XX:MaxNewSize=256M`
survivor_ratio: 8 # will be `-XX:SurvivorRatio=8`
target_survivor_ratio: 50 # will be `-XX:TargetSurvivorRatio=50`
jmx: # will be `-Dcom.sun.management.jmxremote`
port: 20001 # will be `-Dcom.sun.management.jmxremote.port=20001`
ssl: false # will be `-Dcom.sun.management.jmxremote.ssl=false`
authenticate: false # will be `-Dcom.sun.management.jmxremote.authenticate=false`
prop: # will be converted to `-D<key>=<value>` options
file.encoding: UTF-8
http.port: 9000
http.netty.maxInitialLineLength: 8192
com.amazonaws.sdk.disableCertChecking: true
option: # other options for customize
- "-XX:+UseConcMarkSweepGC"
- "-XX:+CMSParallelRemarkEnabled"
- "-XX:+UseCMSInitiatingOccupancyOnly"
- "-XX:CMSInitiatingOccupancyFraction=70"
- "-XX:+ScavengeBeforeFullGC"
- "-XX:+CMSScavengeBeforeRemark"
log:
console: # stdout and stderr will be redirected to this file
# javactl provides two layers of log rotation.
# 1. Timestamp based filename
# When the application starts, a file with name `{{prefix}}_%Y%m%d_%H%M%S.log` will be created.
# 2. Size based rotation (useful for long-time running application)
# Once file reaches to the predetermined size, the file will be save with extensions like `.1`, `.2` etc.
# Then, original file will be truncated.
# The parent directry will be created under the app.home directory if it is a relative path.
prefix: logs/console/console
max_size: 10M
backup: 10
# Every time before starting the application, old files with the prefix are removed.
# Old files are the files whose modified time is earlier than [now] minus preserve [days].
preserve: 60
gc: # will be `-verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails`
prefix: logs/gc/gc # will be `-Xloggc:/path/to/your-app/logs/gc/gc_%Y%m%d_%H%M%S.log`
max_size: 10M # will be `-XX:+UseGCLogFileRotation -XX:GCLogFileSize=10M`
backup: 10 # will be `-XX:NumberOfGCLogFiles=10`
preserve: 60
dump:
prefix: logs/dump # will be `-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/your-app/logs/dump`
error:
path: logs/hs_error_pid%p.log # will be `-XX:ErrorFile=/path/to/your-app/logs/hs_error_pid%p.log`
pre: # These commands will be executed before launching the Java application
- echo 'Pre command is now running.'
post: # These commands will be executed after launching the Java application
- echo 'Post command[0] is now running.'
- echo 'Post command[1] is now running.'