killbill-memoizeit

Changes

account/pom.xml 50(+50 -0)

api/pom.xml 50(+50 -0)

blacklist 10(+10 -0)

catalog/pom.xml 46(+46 -0)

docker-compose.yml 41(+25 -16)

entitlement/pom.xml 50(+50 -0)

ignored 43(+43 -0)

invoice/pom.xml 50(+50 -0)

jaxrs/pom.xml 50(+50 -0)

junction/pom.xml 50(+50 -0)

overdue/pom.xml 46(+46 -0)

payment/pom.xml 50(+50 -0)

pom.xml 7(+7 -0)

tenant/pom.xml 50(+50 -0)

util/pom.xml 46(+46 -0)

whitelist 2(+2 -0)

Details

account/pom.xml 50(+50 -0)

diff --git a/account/pom.xml b/account/pom.xml
index eec798b..f9f6da0 100644
--- a/account/pom.xml
+++ b/account/pom.xml
@@ -191,4 +191,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

api/pom.xml 50(+50 -0)

diff --git a/api/pom.xml b/api/pom.xml
index af00cce..a4164e5 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -65,4 +65,54 @@
             <artifactId>config-magic</artifactId>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

blacklist 10(+10 -0)

diff --git a/blacklist b/blacklist
new file mode 100644
index 0000000..e4e88ae
--- /dev/null
+++ b/blacklist
@@ -0,0 +1,10 @@
+private java.lang.String org.killbill.billing.catalog.DefaultPlan.findPriceListForPlan(org.killbill.billing.catalog.StandaloneCatalog)
+public java.lang.Object org.killbill.billing.catalog.CatalogEntityCollection.1.next()
+public java.util.Iterator org.killbill.billing.catalog.CatalogEntityCollection.iterator()
+public org.killbill.billing.catalog.DefaultVersionedCatalog org.killbill.billing.catalog.io.VersionedCatalogLoader.loadDefaultCatalog(java.lang.String)
+public org.killbill.xmlloader.ValidationErrors org.killbill.billing.catalog.DefaultPlan.validate(org.killbill.billing.catalog.StandaloneCatalog, org.killbill.xmlloader.ValidationErrors)
+public org.killbill.xmlloader.ValidationErrors org.killbill.billing.catalog.DefaultPlanPhase.validate(org.killbill.billing.catalog.StandaloneCatalog, org.killbill.xmlloader.ValidationErrors)
+public org.killbill.xmlloader.ValidationErrors org.killbill.billing.catalog.DefaultVersionedCatalog.validate(org.killbill.billing.catalog.DefaultVersionedCatalog, org.killbill.xmlloader.ValidationErrors)
+public org.killbill.xmlloader.ValidationErrors org.killbill.billing.catalog.rules.DefaultPlanRules.validate(org.killbill.billing.catalog.StandaloneCatalog, org.killbill.xmlloader.ValidationErrors)
+public org.killbill.xmlloader.ValidationErrors org.killbill.billing.catalog.StandaloneCatalog.validate(org.killbill.billing.catalog.StandaloneCatalog, org.killbill.xmlloader.ValidationErrors)
+static java.util.Map org.killbill.billing.catalog.CatalogEntityCollection.access$000(org.killbill.billing.catalog.CatalogEntityCollection)
\ No newline at end of file

catalog/pom.xml 46(+46 -0)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 2b1772c..335e287 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -188,6 +188,52 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
                 <executions>

docker-compose.yml 41(+25 -16)

diff --git a/docker-compose.yml b/docker-compose.yml
index 022ff40..cba3982 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -5,6 +5,9 @@ services:
     container_name: killbill
     depends_on:
       - "db"
+    links:
+      - db
+    command: bash -c 'while !</dev/tcp/db/3306; do sleep 5; done; bash run.sh'
     ports:
       - "8080:8080"
       - "8000:8000"
@@ -13,36 +16,42 @@ services:
       - KILLBILL_DAO_URL=jdbc:mysql://db:3306/killbill
       - KILLBILL_DAO_USER=root
       - KILLBILL_DAO_PASSWORD=killbill
+      - JAVA_OPTS=${JAVA_OPTS:-"-Xms4096m -Xmx6124m"}
+      - TRACER_ENABLE=${TRACER_ENABLE:-true}
+      - TRACER_MINIMUM_EXECUTION_TIME=${TRACER_MINIMUM_EXECUTION_TIME:-1}
+      - TRACER_SERIALISE_INTERNALS=false
+      - TRACER_VERBOSE=true
+      - TRACER_TRACES=/caching-approaches-comparison/applications/traces/killbill
+      - TRACER_IGNORED_PACKAGES=/caching-approaches-comparison/applications/uncached/killbill/ignored
+      - TRACER_WHITELIST=/caching-approaches-comparison/applications/uncached/killbill/whitelist
+      - TRACER_LOG=/caching-approaches-comparison/applications/output/killbill-tracer.log
     volumes:
       - application:/application
       - /root/.m2:/root/.m2
+      - ../../../:/caching-approaches-comparison
     restart: unless-stopped
     logging:
       options:
         max-size: "10m"
         max-file: "10"
 
-  kaui:
-    image: killbill/kaui:1.0.5
-    depends_on:
-      - "db"
-    ports:
-      - "9090:8080"
-    environment:
-      - KAUI_CONFIG_DAO_URL=jdbc:mysql://db:3306/kaui
-      - KAUI_CONFIG_DAO_USER=root
-      - KAUI_CONFIG_DAO_PASSWORD=killbill
-      - KAUI_KILLBILL_URL=http://killbill:8080
-
   db:
-    image: killbill/mariadb:0.20
+    image: mariadb:10.4
     expose:
-      - "3306"
+      - 3306
     volumes:
+      - ../../dumps/killbill.sql:/docker-entrypoint-initdb.d/init.sql
       - database:/var/lib/mysql
     environment:
-      - MYSQL_ROOT_PASSWORD=killbill
+      MYSQL_USER: root
+      MYSQL_ROOT_PASSWORD: killbill
+      MYSQL_DATABASE: killbill
+    restart: unless-stopped
+    logging:
+      options:
+        max-size: "10m"
+        max-file: "10"
 
 volumes:
   application:
-  database:
\ No newline at end of file
+  database:

entitlement/pom.xml 50(+50 -0)

diff --git a/entitlement/pom.xml b/entitlement/pom.xml
index fce0269..bc36b0d 100644
--- a/entitlement/pom.xml
+++ b/entitlement/pom.xml
@@ -214,4 +214,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

ignored 43(+43 -0)

diff --git a/ignored b/ignored
new file mode 100644
index 0000000..ee1de1d
--- /dev/null
+++ b/ignored
@@ -0,0 +1,43 @@
+aopalliance
+br.ufrgs.inf.prosoft.applicationtracer
+ch.qos
+com.fasterxml
+com.google
+com.ning
+com.palominolabs
+com.samskivert
+com.sun
+com.zaxxer
+io.airlift
+io.dropwizard
+io.swagger
+it.ozimov
+javax.cache
+javax.inject
+javax.servlet
+javax.ws
+joda-time
+mysql
+org.antlr
+org.apache
+org.aspectj
+org.awaitility
+org.codehaus
+org.eclipse
+org.ehcache
+org.flywaydb
+org.javassist
+org.joda
+org.mariadb
+org.mockito
+org.osgi
+org.redisson
+org.skife
+org.slf4j
+org.testng
+org.weakref
+com.codahale
+javax.management
+net.sf
+sun.misc
+org.apache

invoice/pom.xml 50(+50 -0)

diff --git a/invoice/pom.xml b/invoice/pom.xml
index 45a3262..37e9f4d 100644
--- a/invoice/pom.xml
+++ b/invoice/pom.xml
@@ -232,4 +232,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

jaxrs/pom.xml 50(+50 -0)

diff --git a/jaxrs/pom.xml b/jaxrs/pom.xml
index 4a269ca..e3bc326 100644
--- a/jaxrs/pom.xml
+++ b/jaxrs/pom.xml
@@ -201,4 +201,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

junction/pom.xml 50(+50 -0)

diff --git a/junction/pom.xml b/junction/pom.xml
index 134d3d7..afeb9d9 100644
--- a/junction/pom.xml
+++ b/junction/pom.xml
@@ -206,4 +206,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

overdue/pom.xml 46(+46 -0)

diff --git a/overdue/pom.xml b/overdue/pom.xml
index 445b503..d343e45 100644
--- a/overdue/pom.xml
+++ b/overdue/pom.xml
@@ -206,6 +206,52 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
                 <executions>

payment/pom.xml 50(+50 -0)

diff --git a/payment/pom.xml b/payment/pom.xml
index 1277f2c..4e8f48d 100644
--- a/payment/pom.xml
+++ b/payment/pom.xml
@@ -249,4 +249,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

pom.xml 7(+7 -0)

diff --git a/pom.xml b/pom.xml
index 7a57fd4..036d73e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,13 @@
         <module>currency</module>
         <module>profiles</module>
     </modules>
+    <dependencies>
+        <dependency>
+            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+            <artifactId>ApplicationTracer</artifactId>
+            <version>1.0</version>
+        </dependency>
+    </dependencies>
     <scm>
         <connection>scm:git:git://github.com/killbill/killbill.git</connection>
         <developerConnection>scm:git:git@github.com:killbill/killbill.git</developerConnection>
diff --git a/profiles/killbill/pom.xml b/profiles/killbill/pom.xml
index 46adbd8..e58a90c 100644
--- a/profiles/killbill/pom.xml
+++ b/profiles/killbill/pom.xml
@@ -228,10 +228,10 @@
             <artifactId>jetty-xml</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
+<!--         <dependency>
             <groupId>org.ehcache.integrations.shiro</groupId>
             <artifactId>shiro-ehcache3</artifactId>
-        </dependency>
+        </dependency> -->
         <dependency>
             <groupId>org.javassist</groupId>
             <artifactId>javassist</artifactId>
@@ -471,6 +471,52 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>2.4</version>
diff --git a/profiles/killpay/pom.xml b/profiles/killpay/pom.xml
index 2b4cdda..fab2ff6 100644
--- a/profiles/killpay/pom.xml
+++ b/profiles/killpay/pom.xml
@@ -190,6 +190,52 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>2.4</version>
diff --git a/subscription/pom.xml b/subscription/pom.xml
index f6ed771..d46a8d6 100644
--- a/subscription/pom.xml
+++ b/subscription/pom.xml
@@ -202,4 +202,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

tenant/pom.xml 50(+50 -0)

diff --git a/tenant/pom.xml b/tenant/pom.xml
index 46646cb..93eab11 100644
--- a/tenant/pom.xml
+++ b/tenant/pom.xml
@@ -183,4 +183,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+       </plugins>
+    </build>
 </project>

util/pom.xml 46(+46 -0)

diff --git a/util/pom.xml b/util/pom.xml
index 67df441..6b2334b 100644
--- a/util/pom.xml
+++ b/util/pom.xml
@@ -325,6 +325,52 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
                 <executions>

whitelist 2(+2 -0)

diff --git a/whitelist b/whitelist
new file mode 100644
index 0000000..1f44e28
--- /dev/null
+++ b/whitelist
@@ -0,0 +1,2 @@
+br.ufrgs.inf.prosoft.trace
+org.killbill