Commit 8ffe7ec4 authored by Dave Syer's avatar Dave Syer

Fix asciidoctor syntax problems and updgrade to asciidoctor 1.5

Points to note for authors:

* Nesting "*" in `literals` does not behave like Markdown - you have to
escape the asterisk (e.g. `foo/\*`)

* Quote ligatures (why we had to use those I don't really know) are
different in asciidoctor 1.5 ('`foo`' instead of ``foo'')

Merge branch '1.1.x'

Conflicts:
	spring-boot-docs/src/main/asciidoc/production-ready-features.adoc
	spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
parents 6a423d7a 6a503d5c
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
<plugin> <plugin>
<groupId>org.asciidoctor</groupId> <groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId> <artifactId>asciidoctor-maven-plugin</artifactId>
<version>0.1.4</version> <version>1.5.0</version>
<executions> <executions>
<execution> <execution>
<id>generate-docbook</id> <id>generate-docbook</id>
......
...@@ -140,7 +140,7 @@ file and it's used to setup an appropriate `URLClassLoader` and ultimately call ...@@ -140,7 +140,7 @@ file and it's used to setup an appropriate `URLClassLoader` and ultimately call
There are 3 launcher subclasses (`JarLauncher`, `WarLauncher` and `PropertiesLauncher`). There are 3 launcher subclasses (`JarLauncher`, `WarLauncher` and `PropertiesLauncher`).
Their purpose is to load resources (`.class` files etc.) from nested jar files or war Their purpose is to load resources (`.class` files etc.) from nested jar files or war
files in directories (as opposed to explicitly on the classpath). In the case of the files in directories (as opposed to explicitly on the classpath). In the case of the
`[Jar|War]Launcher` the nested paths are fixed `(lib/*.jar` and `lib-provided/*.jar` for `[Jar|War]Launcher` the nested paths are fixed `(lib/\*.jar` and `lib-provided/\*.jar` for
the war case) so you just add extra jars in those locations if you want more. The the war case) so you just add extra jars in those locations if you want more. The
`PropertiesLauncher` looks in `lib/` by default, but you can add additional locations by `PropertiesLauncher` looks in `lib/` by default, but you can add additional locations by
setting an environment variable `LOADER_PATH` or `loader.path` in `application.properties` setting an environment variable `LOADER_PATH` or `loader.path` in `application.properties`
......
...@@ -15,7 +15,7 @@ Auditing, health and metrics gathering can be automatically applied to your appl ...@@ -15,7 +15,7 @@ Auditing, health and metrics gathering can be automatically applied to your appl
== Enabling production-ready features. == Enabling production-ready features.
The {github-code}/spring-boot-actuator[`spring-boot-actuator`] module provides all of The {github-code}/spring-boot-actuator[`spring-boot-actuator`] module provides all of
Spring Boot's production-ready features. The simplest way to enable the features is to add Spring Boot's production-ready features. The simplest way to enable the features is to add
a dependency to the `spring-boot-starter-actuator` ``Starter POM''. a dependency to the `spring-boot-starter-actuator` '`Starter POM`'.
.Definition of Actuator .Definition of Actuator
**** ****
...@@ -24,7 +24,7 @@ controlling something. Actuators can generate a large amount of motion from a sm ...@@ -24,7 +24,7 @@ controlling something. Actuators can generate a large amount of motion from a sm
change. change.
**** ****
To add the actuator to a Maven based project, add the following ``starter'' To add the actuator to a Maven based project, add the following '`starter`'
dependency: dependency:
[source,xml,indent=0] [source,xml,indent=0]
...@@ -66,7 +66,7 @@ The following endpoints are available: ...@@ -66,7 +66,7 @@ The following endpoints are available:
|`autoconfig` |`autoconfig`
|Displays an auto-configuration report showing all auto-configuration candidates and the |Displays an auto-configuration report showing all auto-configuration candidates and the
reason why they ``were'' or ``were not'' applied. reason why they '`were`' or '`were not`' applied.
|true |true
|`beans` |`beans`
...@@ -86,7 +86,7 @@ The following endpoints are available: ...@@ -86,7 +86,7 @@ The following endpoints are available:
|true |true
|`health` |`health`
|Shows application health information (defaulting to a simple ``OK'' message). |Shows application health information (defaulting to a simple '`OK`' message).
|false |false
|`info` |`info`
...@@ -94,7 +94,7 @@ The following endpoints are available: ...@@ -94,7 +94,7 @@ The following endpoints are available:
|false |false
|`metrics` |`metrics`
|Shows ``metrics'' information for the current application. |Shows '`metrics`' information for the current application.
|true |true
|`mappings` |`mappings`
...@@ -138,7 +138,7 @@ that is being configured. ...@@ -138,7 +138,7 @@ that is being configured.
[[production-ready-health]] [[production-ready-health]]
=== Custom health information === Custom health information
The default information exposed by the `health` endpoint is a simple ``OK'' message. It The default information exposed by the `health` endpoint is a simple '`OK`' message. It
is often useful to perform some additional health checks, for example you might check is often useful to perform some additional health checks, for example you might check
that a database connection works, or that a remote REST endpoint is functioning. that a database connection works, or that a remote REST endpoint is functioning.
...@@ -220,7 +220,7 @@ filtering. In your `pom.xml` you have (inside the `<build/>` element): ...@@ -220,7 +220,7 @@ filtering. In your `pom.xml` you have (inside the `<build/>` element):
</resources> </resources>
---- ----
You can then refer to your Maven ``project properties'' via placeholders, e.g. You can then refer to your Maven '`project properties`' via placeholders, e.g.
[source,properties,indent=0] [source,properties,indent=0]
---- ----
...@@ -299,12 +299,12 @@ all non-sensitive endpoints to be exposed over HTTP. The default convention is t ...@@ -299,12 +299,12 @@ all non-sensitive endpoints to be exposed over HTTP. The default convention is t
[[production-ready-sensitive-endpoints]] [[production-ready-sensitive-endpoints]]
=== Exposing sensitive endpoints === Exposing sensitive endpoints
If you use ``Spring Security'' sensitive endpoints will be exposed over HTTP, but also If you use '`Spring Security`' sensitive endpoints will be exposed over HTTP, but also
protected. By default ``basic'' authentication will be used with the username `user` protected. By default '`basic`' authentication will be used with the username `user`
and a generated password (which is printed on the console when the application starts). and a generated password (which is printed on the console when the application starts).
TIP: Generated passwords are logged as the application starts. Search for ``Using default TIP: Generated passwords are logged as the application starts. Search for '`Using default
security password''. security password`'.
You can use Spring properties to change the username and password and to change the You can use Spring properties to change the username and password and to change the
security role required to access the endpoints. For example, you might set the following security role required to access the endpoints. For example, you might set the following
...@@ -480,7 +480,7 @@ If you are using Jolokia but you don't want Spring Boot to configure it, simply ...@@ -480,7 +480,7 @@ If you are using Jolokia but you don't want Spring Boot to configure it, simply
[[production-ready-remote-shell]] [[production-ready-remote-shell]]
== Monitoring and management using a remote shell == Monitoring and management using a remote shell
Spring Boot supports an integrated Java shell called ``CRaSH''. You can use CRaSH to Spring Boot supports an integrated Java shell called '`CRaSH`'. You can use CRaSH to
`ssh` or `telnet` into your running application. To enable remote shell support add a `ssh` or `telnet` into your running application. To enable remote shell support add a
dependency to `spring-boot-starter-remote-shell`: dependency to `spring-boot-starter-remote-shell`:
...@@ -536,7 +536,7 @@ and `endpoint` commands. ...@@ -536,7 +536,7 @@ and `endpoint` commands.
==== Remote shell credentials ==== Remote shell credentials
You can use the `shell.auth.simple.user.name` and `shell.auth.simple.user.password` properties You can use the `shell.auth.simple.user.name` and `shell.auth.simple.user.password` properties
to configure custom connection credentials. It is also possible to use a to configure custom connection credentials. It is also possible to use a
``Spring Security'' `AuthenticationManager` to handle login duties. See the '`Spring Security`' `AuthenticationManager` to handle login duties. See the
{dc-spring-boot-actuator}/autoconfigure/CrshAutoConfiguration.{dc-ext}[`CrshAutoConfiguration`] {dc-spring-boot-actuator}/autoconfigure/CrshAutoConfiguration.{dc-ext}[`CrshAutoConfiguration`]
and {dc-spring-boot-actuator}/autoconfigure/ShellProperties.{dc-ext}[`ShellProperties`] and {dc-spring-boot-actuator}/autoconfigure/ShellProperties.{dc-ext}[`ShellProperties`]
Javadoc for full details. Javadoc for full details.
...@@ -559,7 +559,7 @@ for details). By default Spring Boot will search for commands in the following l ...@@ -559,7 +559,7 @@ for details). By default Spring Boot will search for commands in the following l
TIP: You can change the search path by settings a `shell.commandPathPatterns` property. TIP: You can change the search path by settings a `shell.commandPathPatterns` property.
Here is a simple ``hello world'' command that could be loaded from Here is a simple '`hello world`' command that could be loaded from
`src/main/resources/commands/hello.groovy` `src/main/resources/commands/hello.groovy`
[source,groovy,indent=0] [source,groovy,indent=0]
...@@ -615,8 +615,8 @@ documentation]. ...@@ -615,8 +615,8 @@ documentation].
[[production-ready-metrics]] [[production-ready-metrics]]
== Metrics == Metrics
Spring Boot Actuator includes a metrics service with ``gauge'' and ``counter'' support. Spring Boot Actuator includes a metrics service with '`gauge`' and '`counter`' support.
A ``gauge'' records a single value; and a ``counter'' records a delta (an increment or A '`gauge`' records a single value; and a '`counter`' records a delta (an increment or
decrement). Spring Boot Actuator also provides a decrement). Spring Boot Actuator also provides a
{sc-spring-boot-actuator}/endpoint/PublicMetrics.{sc-ext}[`PublicMetrics`] interface that {sc-spring-boot-actuator}/endpoint/PublicMetrics.{sc-ext}[`PublicMetrics`] interface that
you can implement to expose metrics that you cannot record via one of those two you can implement to expose metrics that you cannot record via one of those two
...@@ -657,7 +657,7 @@ endpoint you should see a response similar to this: ...@@ -657,7 +657,7 @@ endpoint you should see a response similar to this:
---- ----
Here we can see basic `memory`, `heap`, `class loading`, `processor` and `thread pool` Here we can see basic `memory`, `heap`, `class loading`, `processor` and `thread pool`
information along with some HTTP metrics. In this instance the `root` (``/'') and `/metrics` information along with some HTTP metrics. In this instance the `root` ('`/`') and `/metrics`
URLs have returned `HTTP 200` responses `20` and `3` times respectively. It also appears URLs have returned `HTTP 200` responses `20` and `3` times respectively. It also appears
that the `root` URL returned `HTTP 401` (unauthorized) `4` times. The double asterix (`star-star`) that the `root` URL returned `HTTP 401` (unauthorized) `4` times. The double asterix (`star-star`)
comes from a request matched by Spring MVC as `/**` (normally a static resource). comes from a request matched by Spring MVC as `/**` (normally a static resource).
...@@ -768,22 +768,22 @@ an `Exporter` interface and a few basic implementations for you to get started w ...@@ -768,22 +768,22 @@ an `Exporter` interface and a few basic implementations for you to get started w
[[production-ready-code-hale-metrics]] [[production-ready-code-hale-metrics]]
=== Coda Hale Metrics === Coda Hale Metrics
User of the http://metrics.codahale.com/[Coda Hale ``Metrics'' library] will automatically User of the http://metrics.codahale.com/[Coda Hale '`Metrics`' library] will automatically
find that Spring Boot metrics are published to `com.codahale.metrics.MetricRegistry`. A find that Spring Boot metrics are published to `com.codahale.metrics.MetricRegistry`. A
default `com.codahale.metrics.MetricRegistry` Spring bean will be created when you declare default `com.codahale.metrics.MetricRegistry` Spring bean will be created when you declare
a dependency to the `com.codahale.metrics:metrics-core` library; you can also register you a dependency to the `com.codahale.metrics:metrics-core` library; you can also register you
own `@Bean` instance if you need customizations. own `@Bean` instance if you need customizations.
Users can create Coda Hale metrics by prefixing their metric names with the appropriate Users can create Coda Hale metrics by prefixing their metric names with the appropriate
type (e.g. `histogram.*`, `meter.*`). type (e.g. `histogram.\*`, `meter.\*`).
[[production-ready-metrics-message-channel-integration]] [[production-ready-metrics-message-channel-integration]]
=== Message channel integration === Message channel integration
If the ``Spring Messaging'' jar is on your classpath a `MessageChannel` called If the '`Spring Messaging`' jar is on your classpath a `MessageChannel` called
`metricsChannel` is automatically created (unless one already exists). All metric update `metricsChannel` is automatically created (unless one already exists). All metric update
events are additionally published as ``messages'' on that channel. Additional analysis or events are additionally published as '`messages`' on that channel. Additional analysis or
actions can be taken by clients subscribing to that channel. actions can be taken by clients subscribing to that channel.
...@@ -791,7 +791,7 @@ actions can be taken by clients subscribing to that channel. ...@@ -791,7 +791,7 @@ actions can be taken by clients subscribing to that channel.
[[production-ready-auditing]] [[production-ready-auditing]]
== Auditing == Auditing
Spring Boot Actuator has a flexible audit framework that will publish events once Spring Spring Boot Actuator has a flexible audit framework that will publish events once Spring
Security is in play (``authentication success'', ``failure'' and ``access denied'' Security is in play ('`authentication success`', '`failure`' and '`access denied`'
exceptions by default). This can be very useful for reporting, and also to implement a exceptions by default). This can be very useful for reporting, and also to implement a
lock-out policy based on authentication failures. lock-out policy based on authentication failures.
...@@ -898,6 +898,6 @@ look at the actuator {github-code}/spring-boot-samples[sample applications]. You ...@@ -898,6 +898,6 @@ look at the actuator {github-code}/spring-boot-samples[sample applications]. You
might want to read about graphing tools such as http://graphite.wikidot.com/[Graphite]. might want to read about graphing tools such as http://graphite.wikidot.com/[Graphite].
Otherwise, you can continue on, to read about <<cloud-deployment.adoc#cloud-deployment, Otherwise, you can continue on, to read about <<cloud-deployment.adoc#cloud-deployment,
``cloud deployment options''>> or jump ahead '`cloud deployment options`'>> or jump ahead
for some in depth information about Spring Boot's for some in depth information about Spring Boot's
'<<build-tool-plugins.adoc#build-tool-plugins, build tool plugins>>'. '<<build-tool-plugins.adoc#build-tool-plugins, build tool plugins>>'.
[[using-boot]] [[using-boot]]
= Using Spring Boot = Using Spring Boot
...@@ -198,7 +199,7 @@ running quickly and with a consistent, supported set of managed transitive depen ...@@ -198,7 +199,7 @@ running quickly and with a consistent, supported set of managed transitive depen
.What's in a name .What's in a name
**** ****
All starters follow a similar naming pattern; `spring-boot-starter-*`, where `*` is All starters follow a similar naming pattern; `spring-boot-starter-\*`, where `*` is
a particular type of application. This naming structure is intended to help when you need a particular type of application. This naming structure is intended to help when you need
to find a starter. The Maven integration in many IDEs allow you to search dependencies by to find a starter. The Maven integration in many IDEs allow you to search dependencies by
name. For example, with the appropriate Eclipse or STS plugin installed, you can simply name. For example, with the appropriate Eclipse or STS plugin installed, you can simply
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment