यहाँ वसंत में अमरूद कैश स्थापित करने का एक पूरा उदाहरण है। मैंने इवाचे के ऊपर अमरूद का इस्तेमाल किया क्योंकि यह थोड़ा हल्का वजन है और विन्यास मेरे लिए अधिक सीधे लगता है।
आयात मावेन निर्भरताएँ
अपनी मावेन पोम फ़ाइल में इन निर्भरताओं को जोड़ें और स्वच्छ और पैकेज चलाएं। ये फाइलें CacheBuilder में उपयोग के लिए अमरूद डिपो और स्प्रिंग हेल्पर तरीके हैं।
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
कैश को कॉन्फ़िगर करें
आपको जावा कॉन्फ़िगर का उपयोग करके कैश को कॉन्फ़िगर करने के लिए CacheConfig फ़ाइल बनाने की आवश्यकता है।
@Configuration
@EnableCaching
public class CacheConfig {
public final static String CACHE_ONE = "cacheOne";
public final static String CACHE_TWO = "cacheTwo";
@Bean
public Cache cacheOne() {
return new GuavaCache(CACHE_ONE, CacheBuilder.newBuilder()
.expireAfterWrite(60, TimeUnit.MINUTES)
.build());
}
@Bean
public Cache cacheTwo() {
return new GuavaCache(CACHE_TWO, CacheBuilder.newBuilder()
.expireAfterWrite(60, TimeUnit.SECONDS)
.build());
}
}
कैश की जाने वाली विधि का उल्लेख करें
@ कैश करने योग्य एनोटेशन जोड़ें और कैश नाम में पास करें।
@Service
public class CachedService extends WebServiceGatewaySupport implements CachedService {
@Inject
private RestTemplate restTemplate;
@Cacheable(CacheConfig.CACHE_ONE)
public String getCached() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> reqEntity = new HttpEntity<>("url", headers);
ResponseEntity<String> response;
String url = "url";
response = restTemplate.exchange(
url,
HttpMethod.GET, reqEntity, String.class);
return response.getBody();
}
}
आप एनोटेट स्क्रीनशॉट के साथ यहां एक और पूर्ण उदाहरण देख सकते हैं: स्प्रिंग में अमरूद कैश