Skip to content
This repository

A real time health checking tool.

tag: diffa_v1_0
README
Diffa is a tool that manages real time differences between arbitrary components.

For more information, please see the website: http://diffa.lshift.net

License
-------

Diffa uses the Apache license, Version 2.0.

Maven
-----

Diffa is maven built using Maven. Currently version 3.0.3 is supported.

Maven Proxy
-----------

In order to download artifacts not available in Maven central, you can use the Diffa repository. To do so, 
add the following to your $M2_HOME/settings.xml:

In the profiles block:
    <profile>
      <id>diffa-repo</id>
      <repositories>
        <repository>
          <id>diffa</id>
          <url>https://nexus.lshift.net/nexus/content/groups/public</url>
        </repository>
      </repositories>

      <pluginRepositories>
        <pluginRepository>
          <id>diffa</id>
          <url>https://nexus.lshift.net/nexus/content/groups/public</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>

And in the activeProfiles block:
    <activeProfile>diffa-repo</activeProfile>


Scala
-----

Diffa is written mostly in Scala. Due to Scala's class post-processing mechanism, we tend to find that the default Perm Gen settings get exhausted quite quickly.
So before you perform any of the Maven commands, please give the JVM a little more Perm Gen:

On Unix:

    export MAVEN_OPTS=-XX:MaxPermSize=512m

Or on Windows:

    set MAVEN_OPTS=-XX:MaxPermSize=512m

This is also documented in the README.maven_opts.txt file for an easy copy and paste.

Building
--------

Please do not overlook the previous note about perm gen. To build Diffa, just use the mvn install command from the root directory:

    $ mvn install

This will run the the test suite that comes with Diffa.

Booting The Agent
-----------------

The Diffa agent can be run using the Jetty plugin:

    $ cd agent
    $ mvn jetty:run

Booting The Demo Participants
-----------------------------

Diffa comes with a demo application that provides two fake participants. This can also be run using the Jetty plugin:

    $ cd participants-web
    $ mvn jetty:run

License Checking
----------------

Diffa uses the maven license plugin (http://code.google.com/p/maven-license-plugin/) to check that the license files are up to date.

To run the license check:

    $ mvn -e license:format -Dyear=2010

To reformat each file according to the header file:

    $ mvn -e license:format -Dyear=2010
Something went wrong with that request. Please try again.