keycloak-memoizeit
Changes
adapters/pom.xml 58(+0 -58)
authz/pom.xml 58(+0 -58)
common/pom.xml 60(+7 -53)
core/pom.xml 55(+2 -53)
distribution/pom.xml 58(+0 -58)
docker-compose.yml 11(+2 -9)
examples/pom.xml 55(+0 -55)
federation/pom.xml 58(+0 -58)
integration/pom.xml 58(+0 -58)
model/pom.xml 54(+0 -54)
pom.xml 5(+0 -5)
saml-core/pom.xml 51(+0 -51)
saml-core-api/pom.xml 55(+1 -54)
server-spi/pom.xml 55(+0 -55)
server-spi-private/pom.xml 62(+6 -56)
server-spi-private/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java 19(+17 -2)
server-spi-private/src/main/java/org/keycloak/models/session/PersistentAuthenticatedClientSessionAdapter.java 6(+6 -0)
server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java 12(+11 -1)
services/pom.xml 51(+0 -51)
wildfly/pom.xml 57(+0 -57)
Details
adapters/pom.xml 58(+0 -58)
diff --git a/adapters/pom.xml b/adapters/pom.xml
index 8c42f86..394f0ff 100755
--- a/adapters/pom.xml
+++ b/adapters/pom.xml
@@ -35,62 +35,4 @@
<module>saml</module>
<module>oidc</module>
</modules>
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </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>
authz/pom.xml 58(+0 -58)
diff --git a/authz/pom.xml b/authz/pom.xml
index 1c3e5df..d66b4d3 100644
--- a/authz/pom.xml
+++ b/authz/pom.xml
@@ -21,62 +21,4 @@
<module>policy</module>
<module>client</module>
</modules>
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </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>
\ No newline at end of file
common/pom.xml 60(+7 -53)
diff --git a/common/pom.xml b/common/pom.xml
index 2fcb6ad..d2808c4 100755
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -32,8 +32,8 @@
<description>Common library and dependencies shared with server and all adapters</description>
<properties>
- <maven.compiler.target>1.7</maven.compiler.target>
- <maven.compiler.source>1.7</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <maven.compiler.source>1.8</maven.compiler.source>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
@@ -46,6 +46,11 @@
</properties>
<dependencies>
<dependency>
+ <groupId>br.ufrgs.inf.prosoft.cache</groupId>
+ <artifactId>Cache</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</dependency>
@@ -63,11 +68,6 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
</dependencies>
<build>
@@ -78,52 +78,6 @@
</resource>
</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>
<!-- Adding OSGI metadata to the JAR without changing the packaging type. -->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
diff --git a/common/src/main/java/org/keycloak/common/util/DerUtils.java b/common/src/main/java/org/keycloak/common/util/DerUtils.java
index d19a0c3..76477e5 100755
--- a/common/src/main/java/org/keycloak/common/util/DerUtils.java
+++ b/common/src/main/java/org/keycloak/common/util/DerUtils.java
@@ -30,6 +30,8 @@ import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
+import br.ufrgs.inf.prosoft.cache.*;
+
/**
* Extract PrivateKey, PublicKey, and X509Certificate from a DER encoded byte array or file. Usually
* generated from openssl
@@ -73,10 +75,18 @@ public final class DerUtils {
return cert;
}
- public static PrivateKey decodePrivateKey(byte[] der) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchProviderException {
+// public static SingleCache<Parameters, PrivateKey> decodePrivateKey = new SingleCache<>("DerUtils.decodePrivateKey");
+
+ public static PrivateKey decodePrivateKey(byte[] der) {//throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchProviderException {
+// return decodePrivateKey.computeIfAbsent(new Parameters(der), () -> {
+ try {
PKCS8EncodedKeySpec spec =
new PKCS8EncodedKeySpec(der);
KeyFactory kf = KeyFactory.getInstance("RSA", "BC");
return kf.generatePrivate(spec);
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+// }, 120000);
}
}
diff --git a/common/src/main/java/org/keycloak/common/util/PemUtils.java b/common/src/main/java/org/keycloak/common/util/PemUtils.java
index 2057556..1654e1a 100755
--- a/common/src/main/java/org/keycloak/common/util/PemUtils.java
+++ b/common/src/main/java/org/keycloak/common/util/PemUtils.java
@@ -29,6 +29,8 @@ import java.security.PublicKey;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
+import br.ufrgs.inf.prosoft.cache.*;
+
/**
* Utility classes to extract PublicKey, PrivateKey, and X509Certificate from openssl generated PEM files
*
@@ -85,6 +87,8 @@ public final class PemUtils {
}
}
+// public static SingleCache<String, PrivateKey> decodePrivateKey = new SingleCache<>("PemUtils.decodePrivateKey");
+
/**
* Decode a Private Key from a PEM string
*
@@ -93,6 +97,7 @@ public final class PemUtils {
* @throws Exception
*/
public static PrivateKey decodePrivateKey(String pem) {
+// return decodePrivateKey.computeIfAbsent(pem, () -> {
if (pem == null) {
return null;
}
@@ -101,8 +106,10 @@ public final class PemUtils {
byte[] der = pemToDer(pem);
return DerUtils.decodePrivateKey(der);
} catch (Exception e) {
- throw new PemException(e);
+ // throw new PemException(e);
+ throw new RuntimeException(e);
}
+// }, 120000);
}
/**
core/pom.xml 55(+2 -53)
diff --git a/core/pom.xml b/core/pom.xml
index f97d063..b9ae3c3 100755
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -32,8 +32,8 @@
<description/>
<properties>
- <maven.compiler.target>1.7</maven.compiler.target>
- <maven.compiler.source>1.7</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <maven.compiler.source>1.8</maven.compiler.source>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
@@ -70,11 +70,6 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
</dependencies>
@@ -86,52 +81,6 @@
</resource>
</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>
<!-- Adding OSGI metadata to the JAR without changing the packaging type. -->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
diff --git a/core/src/main/java/org/keycloak/util/JsonSerialization.java b/core/src/main/java/org/keycloak/util/JsonSerialization.java
index ed43e69..bf4b9da 100755
--- a/core/src/main/java/org/keycloak/util/JsonSerialization.java
+++ b/core/src/main/java/org/keycloak/util/JsonSerialization.java
@@ -29,6 +29,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import br.ufrgs.inf.prosoft.cache.*;
+
/**
* Utility class to handle simple JSON serializable for Keycloak.
*
@@ -65,20 +67,32 @@ public class JsonSerialization {
return mapper.writeValueAsBytes(obj);
}
+// public static MultiCache<Parameters, Object> readValue1 = new MultiCache<>("Jsonser.readValue1");
+
public static <T> T readValue(byte[] bytes, Class<T> type) throws IOException {
+// return readValue1.computeIfAbsent(new Parameters(bytes, type), () -> {
return mapper.readValue(bytes, type);
+// }, 120000);
}
+// public static MultiCache<Parameters, Object> readValue2 = new MultiCache<>("Jsonser.readValue2");
+
public static <T> T readValue(String bytes, Class<T> type) throws IOException {
+// return readValue2.computeIfAbsent(new Parameters(bytes, type), () -> {
return mapper.readValue(bytes, type);
+// }, 120000);
}
public static <T> T readValue(InputStream bytes, Class<T> type) throws IOException {
return readValue(bytes, type, false);
}
+// public static MultiCache<Parameters, Object> readValue4 = new MultiCache<>("Jsonser.readValue4");
+
public static <T> T readValue(String string, TypeReference<T> type) throws IOException {
+// return readValue4.computeIfAbsent(new Parameters(string, type), () -> {
return mapper.readValue(string, type);
+// }, 120000);
}
public static <T> T readValue(InputStream bytes, TypeReference<T> type) throws IOException {
distribution/pom.xml 58(+0 -58)
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 5a94738..ab1dd0b 100755
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -56,62 +56,4 @@
</modules>
</profile>
</profiles>
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </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>
docker-compose.yml 11(+2 -9)
diff --git a/docker-compose.yml b/docker-compose.yml
index 1edd3fa..bf597e5 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,15 +10,8 @@ services:
command: bash -c 'while !</dev/tcp/database/3306; do sleep 5; done; bash run.sh'
environment:
- JAVA_OPTS=${JAVA_OPTS:-"-Xms4096m -Xmx6124m"}
- - TRACER_ENABLE=${TRACER_ENABLE:-true}
- - TRACER_MINIMUM_EXECUTION_TIME=${TRACER_MINIMUM_EXECUTION_TIME:-5}
- - TRACER_SERIALISE_INTERNALS=false
- - TRACER_VERBOSE=true
- - TRACER_TRACES=/caching-approaches-comparison/applications/traces/keycloak
- - TRACER_LOG=/caching-approaches-comparison/applications/output/keycloak-tracer.log
- - TRACER_BLACKLIST=/caching-approaches-comparison/applications/uncached/keycloak/blacklist
- - TRACER_IGNORED_PACKAGES=/caching-approaches-comparison/applications/uncached/keycloak/ignored
- - TRACER_WHITELIST=/caching-approaches-comparison/applications/uncached/keycloak/whitelist
+ - CACHE_EVENTS=${CACHE_EVENTS:-/caching-approaches-comparison/applications/output/keycloak-memoizeit-cache}
+ - CACHE_REGISTER_SIZE=false
volumes:
- application:/application
- /root/.m2:/root/.m2
examples/pom.xml 55(+0 -55)
diff --git a/examples/pom.xml b/examples/pom.xml
index 4d5e48c..6a5e5b3 100755
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -29,64 +29,9 @@
<artifactId>keycloak-examples-parent</artifactId>
<packaging>pom</packaging>
-
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
-</dependencies>
-
<build>
<pluginManagement>
<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-deploy-plugin</artifactId>
federation/pom.xml 58(+0 -58)
diff --git a/federation/pom.xml b/federation/pom.xml
index 9a7e0be..9017187 100755
--- a/federation/pom.xml
+++ b/federation/pom.xml
@@ -37,62 +37,4 @@
<module>ldap</module>
<module>sssd</module>
</modules>
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </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>
integration/pom.xml 58(+0 -58)
diff --git a/integration/pom.xml b/integration/pom.xml
index 68b75f8..6251d3e 100755
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -35,62 +35,4 @@
<module>client-registration</module>
<module>client-cli</module>
</modules>
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </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>
model/pom.xml 54(+0 -54)
diff --git a/model/pom.xml b/model/pom.xml
index a3b2d66..0a3fcb4 100755
--- a/model/pom.xml
+++ b/model/pom.xml
@@ -39,64 +39,10 @@
<skip>true</skip>
</configuration>
</plugin>
- <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>
<modules>
<module>jpa</module>
<module>infinispan</module>
</modules>
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
-</dependencies>
-
</project>
pom.xml 5(+0 -5)
diff --git a/pom.xml b/pom.xml
index cbe9f62..a61f1eb 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1490,11 +1490,6 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
</dependencies>
</dependencyManagement>
saml-core/pom.xml 51(+0 -51)
diff --git a/saml-core/pom.xml b/saml-core/pom.xml
index 166dfa4..c53c6dd 100755
--- a/saml-core/pom.xml
+++ b/saml-core/pom.xml
@@ -39,11 +39,6 @@
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>
<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
@@ -88,52 +83,6 @@
</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-surefire-plugin</artifactId>
<executions>
saml-core-api/pom.xml 55(+1 -54)
diff --git a/saml-core-api/pom.xml b/saml-core-api/pom.xml
index 9b8dcc5..09cea2b 100755
--- a/saml-core-api/pom.xml
+++ b/saml-core-api/pom.xml
@@ -38,11 +38,6 @@
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>
<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
@@ -58,55 +53,7 @@
<artifactId>xmlsec</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>
<resources>
<resource>
<directory>src/main/resources</directory>
server-spi/pom.xml 55(+0 -55)
diff --git a/server-spi/pom.xml b/server-spi/pom.xml
index 7a5fe38..6a17fe3 100755
--- a/server-spi/pom.xml
+++ b/server-spi/pom.xml
@@ -31,11 +31,6 @@
<description/>
<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.2_spec</artifactId>
@@ -77,54 +72,4 @@
<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>
server-spi-private/pom.xml 62(+6 -56)
diff --git a/server-spi-private/pom.xml b/server-spi-private/pom.xml
index f85be5e..43d2d0d 100755
--- a/server-spi-private/pom.xml
+++ b/server-spi-private/pom.xml
@@ -31,11 +31,6 @@
<description/>
<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-server-spi</artifactId>
@@ -91,55 +86,10 @@
<artifactId>hamcrest-all</artifactId>
<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>
+ <dependency>
+ <groupId>br.ufrgs.inf.prosoft.cache</groupId>
+ <artifactId>Cache</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
</project>
diff --git a/server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProvider.java b/server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProvider.java
index 3d713e4..e990925 100644
--- a/server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProvider.java
+++ b/server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProvider.java
@@ -47,6 +47,8 @@ import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.provider.Provider;
import org.keycloak.representations.idm.authorization.AbstractPolicyRepresentation;
+import br.ufrgs.inf.prosoft.cache.*;
+
/**
* <p>The main contract here is the creation of {@link org.keycloak.authorization.permission.evaluator.PermissionEvaluator} instances. Usually
* an application has a single {@link AuthorizationProvider} instance and threads servicing client requests obtain {@link org.keycloak.authorization.permission.evaluator.PermissionEvaluator}
@@ -437,6 +439,8 @@ public final class AuthorizationProvider implements Provider {
};
}
+public static SingleCache<Parameters, Resource> findByName = new SingleCache<>("AuthorizationProvider.findByName");
+
private ResourceStore createResourceStoreWrapper(StoreFactory storeFactory) {
return new ResourceStore() {
ResourceStore delegate = storeFactory.getResourceStore();
@@ -523,7 +527,9 @@ public final class AuthorizationProvider implements Provider {
@Override
public Resource findByName(String name, String ownerId, String resourceServerId) {
+return findByName.computeIfAbsent(new Parameters(name, ownerId, resourceServerId), () -> {
return delegate.findByName(name, ownerId, resourceServerId);
+}, 120000);
}
@Override
diff --git a/server-spi-private/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java b/server-spi-private/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java
index 9c146f0..1470c8a 100644
--- a/server-spi-private/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java
+++ b/server-spi-private/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java
@@ -30,6 +30,8 @@ import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.KeySpec;
+import br.ufrgs.inf.prosoft.cache.*;
+
/**
* @author <a href="mailto:me@tsudot.com">Kunal Kerkar</a>
*/
@@ -80,19 +82,28 @@ public class Pbkdf2PasswordHashProvider implements PasswordHashProvider {
credential.setValue(encodedPassword);
}
+
+public static SingleCache<Parameters, String> encode1 = new SingleCache<>("Pbkdf2PasswordHashProvider.encode1");
+
@Override
public String encode(String rawPassword, int iterations) {
+return encode1.computeIfAbsent(new Parameters(rawPassword, iterations), () -> {
+ byte[] salt = getSalt();
if (iterations == -1) {
- iterations = defaultIterations;
+ return encode(rawPassword, defaultIterations, salt, derivedKeySize);
}
- byte[] salt = getSalt();
return encode(rawPassword, iterations, salt, derivedKeySize);
+}, 120000);
}
+public static SingleCache<Parameters, Boolean> verify = new SingleCache<>("Pbkdf2PasswordHashProvider.verify");
+
@Override
public boolean verify(String rawPassword, CredentialModel credential) {
+return verify.computeIfAbsent(new Parameters(rawPassword, credential), () -> {
return encode(rawPassword, credential.getHashIterations(), credential.getSalt(), keySize(credential)).equals(credential.getValue());
+}, 120000);
}
private int keySize(CredentialModel credential) {
@@ -107,7 +118,10 @@ public class Pbkdf2PasswordHashProvider implements PasswordHashProvider {
public void close() {
}
+public static SingleCache<Parameters, String> encode2 = new SingleCache<>("Pbkdf2PasswordHashProvider.encode2");
+
private String encode(String rawPassword, int iterations, byte[] salt, int derivedKeySize) {
+return encode2.computeIfAbsent(new Parameters(rawPassword, iterations, salt, derivedKeySize), () -> {
KeySpec spec = new PBEKeySpec(rawPassword.toCharArray(), salt, iterations, derivedKeySize);
try {
@@ -118,6 +132,7 @@ public class Pbkdf2PasswordHashProvider implements PasswordHashProvider {
} catch (Exception e) {
throw new RuntimeException(e);
}
+}, 120000);
}
private byte[] getSalt() {
diff --git a/server-spi-private/src/main/java/org/keycloak/models/session/PersistentAuthenticatedClientSessionAdapter.java b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentAuthenticatedClientSessionAdapter.java
index 2bb13b7..c844fce 100644
--- a/server-spi-private/src/main/java/org/keycloak/models/session/PersistentAuthenticatedClientSessionAdapter.java
+++ b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentAuthenticatedClientSessionAdapter.java
@@ -31,6 +31,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import br.ufrgs.inf.prosoft.cache.*;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
@@ -162,9 +164,13 @@ public class PersistentAuthenticatedClientSessionAdapter implements Authenticate
// Information not persisted.
}
+public static GetterCache<String> getAction = new GetterCache<>("PersistentAuthenticatedClientSessionAdapter.getAction");
+
@Override
public String getAction() {
+return getAction.computeIfAbsent(() -> {
return getData().getAction();
+}, 120000);
}
@Override
diff --git a/server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java
index 7fcec1c..6bd5a83 100644
--- a/server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java
+++ b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java
@@ -32,6 +32,8 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import br.ufrgs.inf.prosoft.cache.*;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
@@ -77,17 +79,21 @@ public class PersistentUserSessionAdapter implements OfflineUserSessionModel {
this.authenticatedClientSessions = clientSessions;
}
+public static GetterCache<PersistentUserSessionData> getData = new GetterCache<>("PersistentUserSessionAdapter.getData");
// Lazily init data
private PersistentUserSessionData getData() {
+return getData.computeIfAbsent(() -> {
if (data == null) {
try {
data = JsonSerialization.readValue(model.getData(), PersistentUserSessionData.class);
} catch (IOException ioe) {
- throw new ModelException(ioe);
+ // throw new ModelException(ioe);
+ throw new RuntimeException(ioe);
}
}
return data;
+}, 120000);
}
// Write updated model with latest serialized data
@@ -145,9 +151,13 @@ public class PersistentUserSessionAdapter implements OfflineUserSessionModel {
return getData().getIpAddress();
}
+public static GetterCache<String> getAuthMethod = new GetterCache<>("PersistentUserSessionAdapter.getAuthMethod");
+
@Override
public String getAuthMethod() {
+return getAuthMethod.computeIfAbsent(() -> {
return getData().getAuthMethod();
+}, 120000);
}
@Override
services/pom.xml 51(+0 -51)
diff --git a/services/pom.xml b/services/pom.xml
index 070a30b..246e25a 100755
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -182,11 +182,6 @@
<groupId>com.openshift</groupId>
<artifactId>openshift-restclient-java</artifactId>
</dependency>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </dependency>
</dependencies>
<build>
<plugins>
@@ -340,52 +335,6 @@
</execution>
</executions>
</plugin>
- <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>
</profile>
wildfly/pom.xml 57(+0 -57)
diff --git a/wildfly/pom.xml b/wildfly/pom.xml
index 428bcb6..c7d13e7 100755
--- a/wildfly/pom.xml
+++ b/wildfly/pom.xml
@@ -35,62 +35,5 @@
<module>extensions</module>
<module>server-subsystem</module>
</modules>
-<dependencies>
- <dependency>
- <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
- <artifactId>ApplicationTracer</artifactId>
- <version>1.0</version>
- </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>