Tuesday, 29 September 2015
Friday, 25 September 2015
Thursday, 24 September 2015
Wednesday, 23 September 2015
Tuesday, 22 September 2015
JTS + JTA +JPA
JTS is a specification for implementing a Java transaction manager. A transaction manager serves as an intermediary between an application and one or more transaction-capable resource managers such as database servers and messaging systems. The JTS specification encompasses the JTA API specification.
Monday, 21 September 2015
Implementing spring caching with ehcache....
Implementing spring
caching with ehcache....
The
Spring caching is in the
spring-context.jar
, to
support Ehcache caching, you need to include
the
spring-context-support.jar
as
well.
Step-1
Add Below Dependency for Ehcache.
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.9.0</version>
</dependency>
<!-- Spring caching framework inside this -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<!-- Support for Ehcache and others -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
Step-2
create a xml file as shown in below.
ehcache.xml (classpath in this example)
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="true"
monitoring="autodetect"
dynamicConfig="true">
<diskStore path="java.io.tmpdir" />
<cache name="movieFindCache"
maxEntriesLocalHeap="10000"
maxEntriesLocalDisk="1000"
eternal="false"
diskSpoolBufferSizeMB="20"
timeToIdleSeconds="300" timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU"
transactionalMode="off">
<persistence strategy="localTempSwap" />
</cache>
</ehcache>
Step-3
<!--
Define the cache manager factory instance -->
<bean id="ehcache"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
p:configLocation="classpath:ehcache.xml" p:shared="true"
/>
Step-4
<!--
Define the cache manager instance -->
<bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheCacheManager"
p:cacheManager-ref="ehcache"
/>
Step-5
<!--
Drive caching via annotations -->
<cache:annotation-driven cache-manager="cacheManager"
proxy-target-class="true"
/>
Implementing Spring caching in project @ Service Layer
Implementing Spring caching in project
STEP-1
Enabling Spring caching annotation:-
Define spring cache manager and enable the cache annotation in
meta-configuration file
<cache:annotation-driven cache-manager="cacheManager" proxy-target-class="false"/>
STEP-2
Defining Spring cache manager..
<!-- generic cache manager -->
<bean id="cacheManager"
class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean class="org.springframework.cache.concurrent.
ConcurrentMapCacheFactoryBean" p:name="spring-mvcCache"/>
ConcurrentMapCacheFactoryBean" p:name="spring-mvcCache"/>
</set>
</property>
</bean>
Note : Cache name is spring-mvcCache
STEP-3
Applying annotation on service layer...................
@Cacheable(value="quote", key="#quoteNumber")
public Quote getQuote(String quoteNumber) {
Quote retrievedQuote = new Quote(quoteNumber);
try
{
retrievedQuote = quoteRetrieveSAO.retrieve(quoteNumber);
} catch
(RetrieveException e) {
log.fatal("Failed to retrieve quote from cache for quote
number:" + quoteNumber, e);
}
return retrievedQuote;
}
@CachePut(value="quote", key="#quoteNumber")
public Quote updateQuote(String quoteNumber, Quote quote) {
return quote;
}
@Cacheable(value="quoteErrors", key="#quoteNumber")
public List<CollectionSetError> getQuoteErrors(String
quoteNumber) {
return new ArrayList<CollectionSetError>();
}
@Override
@CacheEvict(value="spring-mvcCache",allEntries=true)
public void deleteAlbum(int albumId) {
String sql = "delete from albums WHERE albumid = " + albumId + " ";
getJdbcTemplate().update(sql);
}
Friday, 18 September 2015
Subscribe to:
Posts (Atom)