# *************************************************************************************************************************** | |
# * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file * | |
# * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file * | |
# * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * | |
# * with the License. You may obtain a copy of the License at * | |
# * * | |
# * http://www.apache.org/licenses/LICENSE-2.0 * | |
# * * | |
# * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an * | |
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * | |
# * specific language governing permissions and limitations under the License. * | |
# *************************************************************************************************************************** | |
#======================================================================================================================= | |
# Basic configuration file for SaaS microservices | |
# Subprojects can use this as a starting point. | |
#======================================================================================================================= | |
#======================================================================================================================= | |
# Jetty settings | |
#======================================================================================================================= | |
[Jetty] | |
# Path of the jetty.xml file used to configure the Jetty server. | |
config = files/jetty.xml | |
# Resolve Juneau variables in the jetty.xml file. | |
resolveVars = true | |
# Port to use for the jetty server. | |
# You can specify multiple ports. The first available will be used. '0' indicates to try a random port. | |
# The resulting available port gets set as the system property "availablePort" which can be referenced in the | |
# jetty.xml file as "$S{availablePort}" (assuming resolveVars is enabled). | |
port = 10000,0,0,0 | |
#======================================================================================================================= | |
# REST settings | |
#======================================================================================================================= | |
[REST] | |
# Comma-delimited list of key-value pairs that represent locations of static files that can be served up by your @Rest-annotated | |
# classes. These are static files that are served up by the servlet under the specified sub-paths. | |
# For example, given the following setting... | |
# staticFiles = htdocs:my-docs,styles/my-styles | |
# ...the URI "/servletPath/htdocs/javadoc.css" resolves to the path "/my-docs/javadoc.css". | |
# This path can be relative to the working directory, classpath root, or package of your resource class. | |
# Used by the BasicRestConfig interface that defines the following value: | |
# staticFiles="$C{REST/staticFiles}" | |
staticFiles = htdocs:htdocs | |
# Stylesheet to use for HTML views. | |
# Used by the BasicRestConfig interface that defines the following value: | |
# stylesheet="$C{REST/theme,servlet:/htdocs/themes/devops.css}" | |
theme = servlet:/htdocs/themes/devops.css | |
# Various look-and-feel settings used in the BasicRestConfig interface. | |
headerIcon = servlet:/htdocs/images/juneau.png | |
headerLink = http://juneau.apache.org | |
footerIcon = servlet:/htdocs/images/asf.png | |
footerLink = http://www.apache.org | |
favicon = $C{REST/headerIcon} | |
head = <link rel='icon' href='$U{$C{REST/favicon}}'/> | |
header = | |
<a href='$U{$C{REST/headerLink}}'> | |
<img src='$U{$C{REST/headerIcon}}' style='position:absolute;top:5;right:5;background-color:transparent;height:30px'/> | |
</a> | |
footer = | |
<a href='$U{$C{REST/footerLink}}'> | |
<img style='float:right;padding-right:20px;height:32px' src='$U{$C{REST/footerIcon}}'> | |
</a> | |
#======================================================================================================================= | |
# Console settings | |
#======================================================================================================================= | |
[Console] | |
enabled = true | |
# List of available console commands. | |
# These are classes that implements ConsoleCommand that allow you to submit commands to the microservice via | |
# the console. | |
# When listed here, the implementations must provide a no-arg constructor. | |
# They can also be provided dynamically by overriding the Microservice.createConsoleCommands() method. | |
commands = | |
org.apache.juneau.microservice.console.ExitCommand, | |
org.apache.juneau.microservice.console.RestartCommand, | |
org.apache.juneau.microservice.console.HelpCommand, | |
org.apache.juneau.microservice.console.ConfigCommand, | |
org.apache.juneau.examples.rest.command.EchoCommand | |
#======================================================================================================================= | |
# Logger settings | |
#----------------------------------------------------------------------------------------------------------------------- | |
# See FileHandler Java class for details. | |
#======================================================================================================================= | |
[Logging] | |
# The directory where to create the log file. | |
# Default is "." | |
logDir = ./target/logs | |
# The name of the log file to create for the main logger. | |
# The logDir and logFile make up the pattern that's passed to the FileHandler | |
# constructor. | |
# If value is not specified, then logging to a file will not be set up. | |
logFile = microservice.%g.log | |
# Whether to append to the existing log file or create a new one. | |
append = false | |
# The SimpleDateFormat format to use for dates. | |
dateFormat = yyyy.MM.dd hh:mm:ss | |
# The log message format. | |
# The value can contain any of the following variables: | |
# {date} - The date, formatted per dateFormat. | |
# {class} - The class name. | |
# {method} - The method name. | |
# {logger} - The logger name. | |
# {level} - The log level name. | |
# {msg} - The log message. | |
# {threadid} - The thread ID. | |
# {exception} - The localized exception message. | |
format = [{date} {level}] {msg}%n | |
# The maximum log file size. | |
# Suffixes available for numbers. | |
# See Config.getInt(String,int) for details. | |
limit = 1M | |
# Max number of log files. | |
count = 5 | |
# Default log levels. | |
# Format is lax-JSON. | |
# Keys are logger names. | |
# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST) | |
levels = | |
{ | |
'': 'WARNING', | |
org.apache.juneau: 'WARNING', | |
org.eclipse.jetty: 'WARNING' | |
} | |
# Only print unique stack traces once and then refer to them by a simple 8 character hash identifier. | |
# Useful for preventing log files from filling up with duplicate stack traces. | |
useStackTraceHashes = true | |
# The default level for the console logger. | |
# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST) | |
consoleLevel = WARNING | |
# The default level for the file logger. | |
# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST) | |
# Default is INFO. | |
fileLevel = INFO | |
#======================================================================================================================= | |
# System properties | |
#----------------------------------------------------------------------------------------------------------------------- | |
# These are arbitrary system properties that can be set during startup. | |
#======================================================================================================================= | |
[SystemProperties] | |
# Configure Jetty for StdErrLog Logging | |
# org.eclipse.jetty.util.log.class = org.eclipse.jetty.util.log.StrErrLog | |
# Configure Jetty to log using java-util logging | |
org.eclipse.jetty.util.log.class = org.apache.juneau.microservice.jetty.JettyLogger | |
# Jetty logging level | |
org.eclipse.jetty.LEVEL = WARN | |
derby.stream.error.file = $C{Logging/logDir}/derby-errors.log | |
# Note that any configuration properties can also be set globally as system properties... | |
# Disable classpath resource caching. | |
# Useful if you're attached using a debugger and you're modifying classpath resources while running. | |
RestContext.disableClasspathResourceCaching.b = true | |
#======================================================================================================================= | |
# DockerRegistryResource properties | |
#======================================================================================================================= | |
[DockerRegistry] | |
url = http://docker.apache.org:5000/v1 | |
#======================================================================================================================= | |
# SqlQueryResource properties | |
#======================================================================================================================= | |
[SqlQueryResource] | |
driver = org.apache.derby.jdbc.EmbeddedDriver | |
directory = target/derby/testDB | |
connectionUrl = jdbc:derby:$C{SqlQueryResource/directory};create=true | |
allowTempUpdates = true | |
includeRowNums = false | |
#======================================================================================================================= | |
# Source code location | |
#======================================================================================================================= | |
[Source] | |
gitHub = https://github.com/apache/juneau/blob/master/juneau-examples/juneau-examples-rest/src/main/java | |
#======================================================================================================================= | |
# PetStoreResource properties | |
#======================================================================================================================= | |
[PetStore] | |
headerImage = <a href='http://swagger.io'><img src='$U{servlet:/htdocs/cat.png}' style='position:absolute;top:5;right:5;background-color:transparent;height:30px'/></a> |