Updated json-simple to version 1.1.1. Although it has a bogus dependency declaration on junit, it comes
with a proper OSGi Manifest. The jUnit dependency is excluded by us, so this should be safe. Fixes 137.

Update Java client for usage with Apache Http Components >= 4.3. Please stick to Jolokia >= 1.2.0 for the
Java client if you need to use Apache Http Client libraries < 4.3. These will also work with the 1.2.1 agent. Fixes 122.

Release 1.2.0 – 2014-02-24

Type

Changes

By

Agents can be configured to answer to discovery multicast request with there URL. This
features is enabled by default for the JVM agent, and must enabled for the WAR
agent with a configuration option. Fixes 127.

Introduced new configuration parameter "logHandlerClass" which can be used to specify an alternate
LogHandler for the WAR and JVM agent. Also, if the JVM agent is used programmatically, a LogHandler
instance can be provided during construction time.

Release 1.1.2 – 2013-05-28

Type

Changes

By

Conversion for TabularData optimized. If any index of an TabularData
structure is not a SimpleType, then a direct serialization of the Tabular
Data (i.e. an JSON Object with two entries "indexNames" and "values" is created).
Otherwise, if it is the representation of an MXBean Map attribute, the map is recreated,
otherwise, nested maps are used for simple acces. More on this in the
reference manual. Fixes 105.

Added safety net for serialization, so that OutputStreams and Writers are never
obtained from get-methods if they declare a subclass as return value. It happens e.g. for
Jetty 8.1 that FileResource.getOutputStream() opens a new FileOutputStream nuking the
existing data. Nice side effect ;-)

Added support for JSON-MBean. A dedicated @JsonMBean annotation can be used
to export complex arguments/attributes/return values as JSON String to the Platform
MBeanServer. Jolokia now offers an own MBeanServer as well for registering MBeans which
won't show up in any other (exported) MBeanServer (except for the delegation of @JsonMBeans
which are delegated and translated).

New module "jolokia-spring" with Spring integration for the
JVM agent has been added. It contains an own Spring
configuration syntax and provides also a plugin for automatic
startup the agent with default values by only declaring a
dependency (works for containers which automatically lookup
META-INF/spring/*.xml). Kudos to James Strachan for the
initial idea.

One can now change the key property order for MBeans names with the query parameter "canonicalNaming"
for read, list and search operations. By default this is set to "true" in which case
an alphabetical ordering for the keys is used. If set to "false", then the original name as registered
is used.

Release 1.0.4 – 2012-06-07

Type

Changes

By

Allow for custom detector options in the agent's
configuration. These options can be evaluated during startup
of the agent. The first (and only) option it 'bootAmx' for
allowing a Glassfish detector to not boot up the AMX subsystem
upon start of this agent. By default (since it is probably
needed every time when Jolokia is installed), AMX is booted to
provide the most userful information over JMX.

If registering of an ConfigMBean doesnt work because there has been already one be
registered with the same name by another agent, a warning is giving out and a UUID is adde to
the object name, so startup works as usual. Use either a "mbeanQualifier" or an "httpServiceFilter" in
order to avoid naming collisions from the very beginning.

Release 1.0.2 – 2012-01-06

Jolokia's Java client library now can request MBeans via an
JSR-160 proxy. This is done either by giving a default proxy
configuration to the J4pClient or by providing a proxy config
to the request objects.

Added support for global and request processing parameter
"mimeType" for specifying the HTTP content-type for the
Jolokia response. By default this is "text/plain" (but
"application/json" can be useful, too).

Fixed problem with URL encoding for GET request with the Java
client library, which used to use URLEncoder.encode() and
switched now to URI. See
http://stackoverflow.com/questions/724043/http-url-address-encoding-in-java
for details.

Release 0.95 – 2011-08-21

Type

Changes

By

Added a dynamical attach mode for the JVM agent launcher (patch
by Greg Bowyer). The agent now includes also a client for
dynamically starting/stoping an agent on already running Java
process. See the reference manual for more information.

Support for upstream serialization of open type,
i.e. CompositeData and TabularData. This allows for easy
access to MXBeans, which provide support of transparent
translation between plain Java objects and collections, which
follow some restrictions, to open type data. Jolokia knows how
to deal with the fixed format used by this MXBean translation
of Maps and transparentrly dispatch this to a JSON
map. Initial patch provided by asssaf.

Release 0.91 – 2011-05-30

Added HTTPS support for the JVM agent. In order to switch
it on, the property "protocol=https" must be set and
additional the properties "keystore" and "keystorePassword"
for pointing to the keystore which holds the server side
certificate. Client side certificate authentication is
switched off currently alway.

Fixed date handling when an MBean exports an attribute as
date. It is now returned as an ISO-8601 formatted string, when
used with a path "time" the epoch milliseconds are
returned. Setting of date values and using dates as arguments
for JMX operations is now also supported, the value can be
given either in epoch milliseconds or as an ISO-86-1 formatted
string. With a path "time" a given date value can be even
updated for a write operation.

Reworked "list" handling. It's now much faster when used with
paths since it doesn't slurp in the whole meta and truncate
it afterwards but does the right thing directly to only fetch
the required information. The list handler respect now a
'maxDepth' request option for truncating the data from top
down. 'maxDepth' works with paths, too. Comprehensive unit
tests has been added as well.

The activator in jolokia-osgi and jolokia-osgi-bundle can now
use an OSGi restrictor service implementing
org.jolokia.restrictor.Restrictor when bundle property
org.jolokia.useRestrictorService is set to true.

Update jolokia-osgi-bundle to include Felix's HttpService implementation
(since its is a bit smaller and fits better due to the packages already
included). Now the bundle can be deployed without dependencies at all on Felix
and Equinox. I recommend to use the 'pure' bundle and a given HttpService, though.

Fixed problem for Jetty Detector with Jetty Version < 6.1.4 and made
server detection to more conservative so that the servlet starts up nevertheless
when an exception occurs during the detection phase (call in the servlet's init method).

Release 0.82 – 2011-01-16

Type

Changes

By

The HTTP status code returned with a HTTP response does not reflect the
status of the JMX operation itself. An HTTP error occurs only if an processing
exception (like security constraint violations) happen on the top agent level,
otherwise 200 is returned (even when an Jolokia response object contains an error).

Release 0.81 – 2010-12-14

Type

Changes

By

Fixed MBean registration issue with Websphere AS 7.0 where
MBean registration via the MBeanRegistration intefaces causes
the WAS MBeanServer to raise a NPE (but register the MBean
nevertheless, so no rollback here).

Security policy can now be globally restricted to a certain
HTTP method. Within the <http> section of the policy
file, <method> tags define the allowed methods ("get" or
"post"). If this section is missing, all methods are
allowed. If only one method is given, the other is forbidden.

Added a "error_type" key to the Jolokia response in case of an remote exception,
which will contain the Java class name of this error. Added getErrorType() to
the J4pRemoteException for the Java-Client.