cloudstore-developers
Changes
blacklist 1(+1 -0)
docker-compose.yml 6(+6 -0)
ignored 15(+15 -0)
pom.xml 60(+57 -3)
src/main/resources/app-context.xml 2(+1 -1)
src/main/resources/cache.xml 4(+2 -2)
src/main/resources/ehcache.xml 4(+2 -2)
src/main/resources/hibernate.xml 8(+4 -4)
Details
blacklist 1(+1 -0)
diff --git a/blacklist b/blacklist
new file mode 100644
index 0000000..d1436bd
--- /dev/null
+++ b/blacklist
@@ -0,0 +1 @@
+public javax.servlet.http.HttpSession eu.cloudscale.showcase.servlets.AController.getHttpSession(java.lang.Class, javax.servlet.http.HttpServletRequest)
docker-compose.yml 6(+6 -0)
diff --git a/docker-compose.yml b/docker-compose.yml
index 049c15d..d0730ce 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -7,9 +7,15 @@ services:
- "database"
links:
- database
+ environment:
+ - TRACER_SERIALISE_INTERNALS=false
+ - TRACER_VERBOSE=true
+ - TRACER_ENABLE=true
+ - TRACER_TRACES=/caching-approaches-comparison/applications/traces/cloudstore
volumes:
- application:/application
- /root/.m2:/root/.m2
+ - ../../../:/caching-approaches-comparison
restart: unless-stopped
ports:
- 8080:8080
ignored 15(+15 -0)
diff --git a/ignored b/ignored
new file mode 100644
index 0000000..5a3c148
--- /dev/null
+++ b/ignored
@@ -0,0 +1,15 @@
+br.ufrgs.inf.prosoft.applicationtracer.
+cglib.
+com.amazonaws.
+com.mchange.
+commons-dbcp.
+javax.inject.
+javax.servlet.
+mysql.
+net.sf.ehcache.
+nz.net.ultraq.thymeleaf.
+org.apache.commons.
+org.apache.logging.log4j.
+org.hibernate.
+org.springframework.
+org.thymeleaf.
\ No newline at end of file
pom.xml 60(+57 -3)
diff --git a/pom.xml b/pom.xml
index dca7e41..ac7ac40 100644
--- a/pom.xml
+++ b/pom.xml
@@ -129,7 +129,7 @@
<artifactId>hibernate-c3p0</artifactId>
<version>4.1.9.Final</version>
</dependency>
- <dependency>
+ <!-- <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>4.1.9.Final</version>
@@ -138,7 +138,7 @@
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.7.2</version>
- </dependency>
+ </dependency> -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
@@ -185,10 +185,64 @@
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
+
+ <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.6</source>
+ <target>1.6</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>
+ </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-resources-plugin</artifactId>
diff --git a/src/main/java/eu/cloudscale/showcase/db/dao/hibernate/impl/ItemDaoImpl.java b/src/main/java/eu/cloudscale/showcase/db/dao/hibernate/impl/ItemDaoImpl.java
index 3212668..c087c62 100755
--- a/src/main/java/eu/cloudscale/showcase/db/dao/hibernate/impl/ItemDaoImpl.java
+++ b/src/main/java/eu/cloudscale/showcase/db/dao/hibernate/impl/ItemDaoImpl.java
@@ -13,15 +13,15 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Random;
-import org.hibernate.CacheMode;
+// import org.hibernate.CacheMode;
import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.Cacheable;
+// import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Address.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Address.java
index 75feede..e015177 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Address.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Address.java
@@ -26,8 +26,8 @@ import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IAddress;
import eu.cloudscale.showcase.db.model.ICountry;
@@ -39,7 +39,7 @@ import eu.cloudscale.showcase.db.model.IOrders;
*/
@Entity
@Table( name = "address", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Address implements IAddress
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Author.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Author.java
index 9dcb90c..12e5a0d 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Author.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Author.java
@@ -28,8 +28,8 @@ import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IAuthor;
import eu.cloudscale.showcase.db.model.IItem;
@@ -39,7 +39,7 @@ import eu.cloudscale.showcase.db.model.IItem;
*/
@Entity
@Table( name = "author", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Author implements IAuthor, Serializable
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/CcXacts.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/CcXacts.java
index 0e7d4cb..a80a0b9 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/CcXacts.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/CcXacts.java
@@ -25,8 +25,8 @@ import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IAuthor;
import eu.cloudscale.showcase.db.model.ICcXacts;
@@ -38,7 +38,7 @@ import eu.cloudscale.showcase.db.model.IOrders;
*/
@Entity
@Table( name = "cc_xacts", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class CcXacts implements ICcXacts
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Country.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Country.java
index 7158e56..d22460f 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Country.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Country.java
@@ -24,8 +24,8 @@ import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IAddress;
import eu.cloudscale.showcase.db.model.ICcXacts;
@@ -36,7 +36,7 @@ import eu.cloudscale.showcase.db.model.ICountry;
*/
@Entity
@Table( name = "country", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Country implements ICountry
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Customer.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Customer.java
index 68988b3..dd1c63a 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Customer.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Customer.java
@@ -29,8 +29,8 @@ import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Index;
import eu.cloudscale.showcase.db.model.IAddress;
@@ -42,7 +42,7 @@ import eu.cloudscale.showcase.db.model.IOrders;
*/
@Entity
@Table( name = "customer", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Customer implements ICustomer
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Item.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Item.java
index 0ab4b11..e40f16c 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Item.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Item.java
@@ -29,8 +29,8 @@ import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Index;
import eu.cloudscale.showcase.db.model.IAuthor;
@@ -43,7 +43,7 @@ import eu.cloudscale.showcase.db.model.IShoppingCartLine;
*/
@Entity
@Table( name = "item", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Item implements java.io.Serializable, IItem
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/OrderLine.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/OrderLine.java
index 603f0ea..78a839b 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/OrderLine.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/OrderLine.java
@@ -22,8 +22,8 @@ import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IItem;
import eu.cloudscale.showcase.db.model.IOrderLine;
@@ -34,7 +34,7 @@ import eu.cloudscale.showcase.db.model.IOrders;
*/
@Entity
@Table( name = "order_line", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class OrderLine implements IOrderLine
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Orders.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Orders.java
index 5a9ca5f..11c1a0e 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Orders.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/Orders.java
@@ -29,8 +29,8 @@ import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IAddress;
import eu.cloudscale.showcase.db.model.ICcXacts;
@@ -40,7 +40,7 @@ import eu.cloudscale.showcase.db.model.IOrders;
@Entity
@Table( name = "orders", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Orders implements IOrders
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCart.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCart.java
index 889f1f9..4df7e28 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCart.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCart.java
@@ -27,8 +27,8 @@ import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IShoppingCart;
import eu.cloudscale.showcase.db.model.IShoppingCartLine;
@@ -39,7 +39,7 @@ import eu.cloudscale.showcase.db.model.IShoppingCartLine;
*/
@Entity
@Table( name = "shopping_cart", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class ShoppingCart implements IShoppingCart
{
diff --git a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCartLine.java b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCartLine.java
index 372a0bb..967bc51 100755
--- a/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCartLine.java
+++ b/src/main/java/eu/cloudscale/showcase/db/model/hibernate/ShoppingCartLine.java
@@ -22,8 +22,8 @@ import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
+// import org.hibernate.annotations.Cache;
+// import org.hibernate.annotations.CacheConcurrencyStrategy;
import eu.cloudscale.showcase.db.model.IItem;
import eu.cloudscale.showcase.db.model.IShoppingCart;
@@ -34,7 +34,7 @@ import eu.cloudscale.showcase.db.model.IShoppingCartLine;
*/
@Entity
@Table( name = "shopping_cart_line", catalog = "tpcw" )
-@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class ShoppingCartLine implements IShoppingCartLine
{
private Integer sclId;
diff --git a/src/main/java/eu/cloudscale/showcase/db/services/AService.java b/src/main/java/eu/cloudscale/showcase/db/services/AService.java
index 31ed893..46672f1 100755
--- a/src/main/java/eu/cloudscale/showcase/db/services/AService.java
+++ b/src/main/java/eu/cloudscale/showcase/db/services/AService.java
@@ -17,7 +17,7 @@ import java.util.Random;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.Cacheable;
+// import org.springframework.cache.annotation.Cacheable;
import org.springframework.transaction.annotation.Transactional;
import eu.cloudscale.showcase.db.BuyConfirmResult;
@@ -92,7 +92,7 @@ public abstract class AService implements IService
@SuppressWarnings( "rawtypes" )
@Override
- @Cacheable("newProducts")
+ // @Cacheable("newProducts")
public List getNewProducts(String category)
{
//System.out.println("getNewProducts(" + category + ") called!");
@@ -546,14 +546,14 @@ public abstract class AService implements IService
}
@Override
- @Cacheable("bestSellers")
+ // @Cacheable("bestSellers")
public List<Object[]> getBestSellers(String category)
{
return itemDao.getBestSellers( category );
}
@Override
- @Cacheable("search")
+ // @Cacheable("search")
public List<IItem> searchByTitle(String keyword)
{
List<IItem> items = itemDao.findAllByTitle( keyword );
@@ -562,7 +562,7 @@ public abstract class AService implements IService
}
@Override
- @Cacheable("search")
+ // @Cacheable("search")
public List<IItem> searchBySubject(String keyword)
{
List<IItem> items = itemDao.findAllBySubject( keyword );
src/main/resources/app-context.xml 2(+1 -1)
diff --git a/src/main/resources/app-context.xml b/src/main/resources/app-context.xml
index 9e23ef9..465a264 100755
--- a/src/main/resources/app-context.xml
+++ b/src/main/resources/app-context.xml
@@ -10,7 +10,7 @@
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd">
- <import resource="classpath:cache.xml" />
+ <!-- <import resource="classpath:cache.xml" /> -->
<import resource="classpath:hibernate.xml" />
<import resource="classpath:servlet-context.xml" />
src/main/resources/cache.xml 4(+2 -2)
diff --git a/src/main/resources/cache.xml b/src/main/resources/cache.xml
index 1709a98..5771fbf 100755
--- a/src/main/resources/cache.xml
+++ b/src/main/resources/cache.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!-- <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -17,4 +17,4 @@
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
p:cacheManagerName="myCacheManager" p:shared="true" p:config-location="classpath:ehcache.xml" />
-</beans>
\ No newline at end of file
+</beans> -->
\ No newline at end of file
src/main/resources/ehcache.xml 4(+2 -2)
diff --git a/src/main/resources/ehcache.xml b/src/main/resources/ehcache.xml
index 58ecc72..fe8bde0 100755
--- a/src/main/resources/ehcache.xml
+++ b/src/main/resources/ehcache.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!-- <?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<diskStore path="java.io.tmpdir/Cloudscale-cache"/>
@@ -51,4 +51,4 @@
timeToIdleSeconds="0"
timeToLiveSeconds="86400"
overflowToDisk="false"/>
-</ehcache>
\ No newline at end of file
+</ehcache> -->
\ No newline at end of file
src/main/resources/hibernate.xml 8(+4 -4)
diff --git a/src/main/resources/hibernate.xml b/src/main/resources/hibernate.xml
index 913c418..75e4381 100755
--- a/src/main/resources/hibernate.xml
+++ b/src/main/resources/hibernate.xml
@@ -65,10 +65,10 @@
<prop key="hibernate.dialect">${jdbc.hibernate.dialect}</prop>
<!-- <prop key="hibernate.max_fetch_depth">4</prop> -->
<!-- <prop key="hibernate.connection.release_mode">after_statement</prop> -->
- <prop key="hibernate.cache.use_second_level_cache">true</prop>
- <prop key="hibernate.cache.use_query_cache">true</prop>
- <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
- <prop key="hibernate.cache.provider_configuration_file_resource_path">classpath:ehcache.xml</prop>
+ <prop key="hibernate.cache.use_second_level_cache">false</prop>
+ <prop key="hibernate.cache.use_query_cache">false</prop>
+<!-- <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop> -->
+ <!-- <prop key="hibernate.cache.provider_configuration_file_resource_path">classpath:ehcache.xml</prop> -->
<!-- <prop key="hibernate.generate_statistics">true</prop> -->
</props>
</property>