• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CacheResult类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中javax.cache.annotation.CacheResult的典型用法代码示例。如果您正苦于以下问题:Java CacheResult类的具体用法?Java CacheResult怎么用?Java CacheResult使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CacheResult类属于javax.cache.annotation包,在下文中一共展示了CacheResult类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getMailSender

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
/**
 * Return the {@link JavaMailSender} built from the given node.
 * 
 * @param node
 *            The node holding the SMTP configuration.
 * @return the {@link JavaMailSender} built from the given node.
 */
@CacheResult(cacheName = "plugin-data")
public JavaMailSender getMailSender(@CacheKey final String node) {
	final JavaMailSenderImpl mail = new JavaMailSenderImpl();
	final Map<String, String> parameters = pvResource.getNodeParameters(node);
	mail.setUsername(parameters.get(PARAMETER_USER));
	mail.setPassword(parameters.get(PARAMETER_PASSWORD));
	mail.setHost(parameters.get(PARAMETER_HOST));
	mail.setPort(Optional.ofNullable(parameters.get(PARAMETER_PORT)).map(Integer::valueOf).orElse(125));
	mail.setDefaultEncoding("UTF-8");

	final Properties properties = new Properties();
	properties.put("mail.smtp.auth", Boolean.TRUE);
	properties.put("mail.smtp.starttls.enable", Boolean.TRUE);
	properties.put("mail.smtp.quitwait", Boolean.FALSE);
	properties.put("mail.smtp.socketFactory.fallback", Boolean.FALSE);

	mail.setJavaMailProperties(properties);
	return mail;
}
 
开发者ID:ligoj,项目名称:plugin-mail-smtp,代码行数:27,代码来源:SmtpPluginResource.java


示例2: getLdapData

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
/**
 * Reset the database cache with the LDAP data.
 */
@CacheResult(cacheName = "ldap")
public Map<LdapData, Map<String, ? extends ResourceOrg>> getLdapData() {
	final Map<LdapData, Map<String, ? extends ResourceOrg>> result = new EnumMap<>(LdapData.class);

	// Fetch LDAP data
	log.info("Fetching LDAP data ...");
	final Map<String, CompanyOrg> companies = getCompany().findAllNoCache();
	final Map<String, GroupOrg> groups = getGroup().findAllNoCache();
	final Map<String, UserOrg> users = getUser().findAllNoCache(groups);
	result.put(LdapData.COMPANY, companies);
	result.put(LdapData.GROUP, groups);
	result.put(LdapData.USER, users);
	ldapCacheDao.reset(companies, groups, users);
	return result;
}
 
开发者ID:ligoj,项目名称:plugin-id-ldap,代码行数:19,代码来源:LdapCacheRepository.java


示例3: createCacheResultOperation

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
protected CacheResultOperation createCacheResultOperation(Method method, CacheDefaults defaults, CacheResult ann) {
	String cacheName = determineCacheName(method, defaults, ann.cacheName());
	CacheResolverFactory cacheResolverFactory =
			determineCacheResolverFactory(defaults, ann.cacheResolverFactory());
	KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator());

	CacheMethodDetails<CacheResult> methodDetails = createMethodDetails(method, ann, cacheName);

	CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails);
	CacheResolver exceptionCacheResolver = null;
	final String exceptionCacheName = ann.exceptionCacheName();
	if (StringUtils.hasText(exceptionCacheName)) {
		exceptionCacheResolver = getExceptionCacheResolver(cacheResolverFactory, methodDetails);
	}

	return new CacheResultOperation(methodDetails, cacheResolver, keyGenerator, exceptionCacheResolver);
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:18,代码来源:AnnotationJCacheOperationSource.java


示例4: getUserLdapRepository

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
/**
 * Build a user LDAP repository from the given node.
 * 
 * @param node
 *            The node, also used as cache key.
 * @return The {@link UserLdapRepository} instance. Cache is involved.
 */
@CacheResult(cacheName = "ldap-user-repository")
public UserLdapRepository getUserLdapRepository(@CacheKey final String node) {
	log.info("Build ldap template for node {}", node);
	final Map<String, String> parameters = pvResource.getNodeParameters(node);
	final LdapContextSource contextSource = new LdapContextSource();
	contextSource.setReferral(parameters.get(PARAMETER_REFERRAL));
	contextSource.setPassword(parameters.get(PARAMETER_PASSWORD));
	contextSource.setUrl(parameters.get(PARAMETER_URL));
	contextSource.setUserDn(parameters.get(PARAMETER_USER));
	contextSource.setBase(parameters.get(PARAMETER_BASE_BN));
	contextSource.afterPropertiesSet();
	final LdapTemplate template = new LdapTemplate();
	template.setContextSource(contextSource);
	template.setIgnorePartialResultException(true);

	// A new repository instance
	final UserLdapRepository repository = new UserLdapRepository();
	repository.setTemplate(template);
	repository.setPeopleBaseDn(StringUtils.trimToEmpty(parameters.get(PARAMETER_PEOPLE_DN)));
	repository.setPeopleInternalBaseDn(parameters.get(PARAMETER_PEOPLE_INTERNAL_DN));
	repository.setQuarantineBaseDn(StringUtils.trimToEmpty(parameters.get(PARAMETER_QUARANTINE_DN)));
	repository.setDepartmentAttribute(parameters.get(PARAMETER_DEPARTMENT_ATTRIBUTE));
	repository.setLocalIdAttribute(parameters.get(PARAMETER_LOCAL_ID_ATTRIBUTE));
	repository.setUidAttribute(parameters.get(PARAMETER_UID_ATTRIBUTE));
	repository.setLockedAttribute(parameters.get(PARAMETER_LOCKED_ATTRIBUTE));
	repository.setLockedValue(parameters.get(PARAMETER_LOCKED_VALUE));
	repository.setPeopleClass(parameters.get(PARAMETER_PEOPLE_CLASS));
	repository.setCompanyPattern(StringUtils.trimToEmpty(parameters.get(PARAMETER_COMPANY_PATTERN)));

	// Complete the bean
	SpringUtils.getApplicationContext().getAutowireCapableBeanFactory().autowireBean(repository);

	return repository;
}
 
开发者ID:ligoj,项目名称:plugin-id-ldap,代码行数:42,代码来源:LdapPluginResource.java


示例5: getConfiguration

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Override
@CacheResult(cacheName = "iam-node-configuration")
public IamConfiguration getConfiguration() {
	final String primary = getPrimary();
	return servicePluginLocator.getResourceExpected(primary, IamConfigurationProvider.class)
			.getConfiguration(primary);
}
 
开发者ID:ligoj,项目名称:plugin-iam-node,代码行数:8,代码来源:NodeBasedIamProvider.java


示例6: get

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
/**
 * Return a specific configuration. System properties overrides the value from the database. Configuration values
 * are
 * always encrypted.
 * 
 * @param name
 *            The requested parameter name.
 * @return a specific configuration. May be <code>null</code>.
 */
@GET
@CacheResult(cacheName = "configuration")
public String get(@CacheKey final String name) {
	String value = System.getProperty(name);
	if (value == null) {
		value = Optional.ofNullable(repository.findByName(name)).map(SystemConfiguration::getValue).orElse(null);
	}
	return Optional.ofNullable(value).map(cryptoHelper::decryptAsNeeded).orElse(null);
}
 
开发者ID:ligoj,项目名称:bootstrap,代码行数:19,代码来源:ConfigurationResource.java


示例7: findCacheOperation

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Override
protected JCacheOperation<?> findCacheOperation(Method method, Class<?> targetType) {
	CacheResult cacheResult = method.getAnnotation(CacheResult.class);
	CachePut cachePut = method.getAnnotation(CachePut.class);
	CacheRemove cacheRemove = method.getAnnotation(CacheRemove.class);
	CacheRemoveAll cacheRemoveAll = method.getAnnotation(CacheRemoveAll.class);

	int found = countNonNull(cacheResult, cachePut, cacheRemove, cacheRemoveAll);
	if (found == 0) {
		return null;
	}
	if (found > 1) {
		throw new IllegalStateException("More than one cache annotation found on '" + method + "'");
	}

	CacheDefaults defaults = getCacheDefaults(method, targetType);
	if (cacheResult != null) {
		return createCacheResultOperation(method, defaults, cacheResult);
	}
	else if (cachePut != null) {
		return createCachePutOperation(method, defaults, cachePut);
	}
	else if (cacheRemove != null) {
		return createCacheRemoveOperation(method, defaults, cacheRemove);
	}
	else {
		return createCacheRemoveAllOperation(method, defaults, cacheRemoveAll);
	}
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:30,代码来源:AnnotationJCacheOperationSource.java


示例8: getExceptionCacheResolver

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
protected CacheResolver getExceptionCacheResolver(CacheResolverFactory factory,
		CacheMethodDetails<CacheResult> details) {

	if (factory != null) {
		javax.cache.annotation.CacheResolver cacheResolver = factory.getExceptionCacheResolver(details);
		return new CacheResolverAdapter(cacheResolver);
	}
	else {
		return getDefaultExceptionCacheResolver();
	}
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:12,代码来源:AnnotationJCacheOperationSource.java


示例9: CacheResultOperation

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
public CacheResultOperation(CacheMethodDetails<CacheResult> methodDetails, CacheResolver cacheResolver,
		KeyGenerator keyGenerator, CacheResolver exceptionCacheResolver) {

	super(methodDetails, cacheResolver, keyGenerator);
	CacheResult ann = methodDetails.getCacheAnnotation();
	this.exceptionTypeFilter = createExceptionTypeFilter(ann.cachedExceptions(), ann.nonCachedExceptions());
	this.exceptionCacheResolver = exceptionCacheResolver;
	this.exceptionCacheName = (StringUtils.hasText(ann.exceptionCacheName()) ? ann.exceptionCacheName() : null);
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:10,代码来源:CacheResultOperation.java


示例10: createSimpleOperation

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Override
protected CacheResultOperation createSimpleOperation() {
	CacheMethodDetails<CacheResult> methodDetails = create(CacheResult.class,
			SampleObject.class, "simpleGet", Long.class);

	return new CacheResultOperation(methodDetails, defaultCacheResolver, defaultKeyGenerator,
			defaultExceptionCacheResolver);
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:9,代码来源:CacheResultOperationTests.java


示例11: multiParameterKey

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Test
public void multiParameterKey() {
	CacheMethodDetails<CacheResult> methodDetails = create(CacheResult.class,
			SampleObject.class, "multiKeysGet", Long.class, Boolean.class, String.class);
	CacheResultOperation operation = createDefaultOperation(methodDetails);

	CacheInvocationParameter[] keyParameters = operation.getKeyParameters(3L, Boolean.TRUE, "Foo");
	assertEquals(2, keyParameters.length);
	assertCacheInvocationParameter(keyParameters[0], Long.class, 3L, 0);
	assertCacheInvocationParameter(keyParameters[1], String.class, "Foo", 2);
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:12,代码来源:CacheResultOperationTests.java


示例12: invokeWithWrongParameters

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Test
public void invokeWithWrongParameters() {
	CacheMethodDetails<CacheResult> methodDetails = create(CacheResult.class,
			SampleObject.class, "anotherSimpleGet", String.class, Long.class);
	CacheResultOperation operation = createDefaultOperation(methodDetails);

	thrown.expect(IllegalStateException.class);
	operation.getAllParameters("bar"); // missing one argument
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:10,代码来源:CacheResultOperationTests.java


示例13: tooManyKeyValues

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Test
public void tooManyKeyValues() {
	CacheMethodDetails<CacheResult> methodDetails = create(CacheResult.class,
			SampleObject.class, "anotherSimpleGet", String.class, Long.class);
	CacheResultOperation operation = createDefaultOperation(methodDetails);

	thrown.expect(IllegalStateException.class);
	operation.getKeyParameters("bar"); // missing one argument
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:10,代码来源:CacheResultOperationTests.java


示例14: annotatedGet

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Test
public void annotatedGet() {
	CacheMethodDetails<CacheResult> methodDetails = create(CacheResult.class,
			SampleObject.class, "annotatedGet", Long.class, String.class);
	CacheResultOperation operation = createDefaultOperation(methodDetails);
	CacheInvocationParameter[] parameters = operation.getAllParameters(2L, "foo");

	Set<Annotation> firstParameterAnnotations = parameters[0].getAnnotations();
	assertEquals(1, firstParameterAnnotations.size());
	assertEquals(CacheKey.class, firstParameterAnnotations.iterator().next().annotationType());

	Set<Annotation> secondParameterAnnotations = parameters[1].getAnnotations();
	assertEquals(1, secondParameterAnnotations.size());
	assertEquals(Value.class, secondParameterAnnotations.iterator().next().annotationType());
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:16,代码来源:CacheResultOperationTests.java


示例15: fullGetConfig

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@Test
public void fullGetConfig() {
	CacheMethodDetails<CacheResult> methodDetails = create(CacheResult.class,
			SampleObject.class, "fullGetConfig", Long.class);
	CacheResultOperation operation = createDefaultOperation(methodDetails);
	assertTrue(operation.isAlwaysInvoked());
	assertNotNull(operation.getExceptionTypeFilter());
	assertTrue(operation.getExceptionTypeFilter().match(IOException.class));
	assertFalse(operation.getExceptionTypeFilter().match(NullPointerException.class));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:11,代码来源:CacheResultOperationTests.java


示例16: createDummyContext

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
protected DefaultCacheInvocationContext<?> createDummyContext() {
	Method method = ReflectionUtils.findMethod(Sample.class, "get", String.class);
	Assert.notNull(method);
	CacheResult cacheAnnotation = method.getAnnotation(CacheResult.class);
	CacheMethodDetails<CacheResult> methodDetails =
			new DefaultCacheMethodDetails<>(method, cacheAnnotation, "test");
	CacheResultOperation operation = new CacheResultOperation(methodDetails,
			defaultCacheResolver, defaultKeyGenerator, defaultExceptionCacheResolver);
	return new DefaultCacheInvocationContext<CacheResult>(operation, new Sample(), new Object[] {"id"});
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:11,代码来源:CacheResolverAdapterTests.java


示例17: sqrt

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@CacheResult( cacheName = CACHE_NAME )
public double sqrt(int a) {
	final double b = Math.sqrt(a);
	if (LOG.isDebugEnabled()) {
		LOG.debug("[CALCULATED] sqrt({}) = {}", a, b);
	}
	return b;
}
 
开发者ID:pnemes,项目名称:jcache-cdi-example,代码行数:9,代码来源:CachedBean.java


示例18: find

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@CacheResult(cacheName = "Di18n")
// All parameters will be used as cache keys
public String find(String key, String baseBundle, String language) {

  Iterable<Di18n> iterator = queryIterable(false, 0,
      1, null,
      Di18nMapper.Field.KEY.getFieldName(), false,
      null, false,
      Filter.equalsFilter(Di18nMapper.Field.KEY.getFieldName(), key),
      Filter.equalsFilter(Di18nMapper.Field.BASEBUNDLE.getFieldName(), baseBundle),
      Filter.equalsFilter(Di18nMapper.Field.LOCALE.getFieldName(), language));

  return iterator.iterator().hasNext() ? iterator.iterator().next().getLocalizedMessage() : null;

}
 
开发者ID:Wadpam,项目名称:guja,代码行数:16,代码来源:Di18nDaoBean.java


示例19: add

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@CacheResult
public int add(int a, int b) {
    try {
        TimeUnit.SECONDS.sleep(3L);
    } catch (InterruptedException e) {
    }

    return a + b;
}
 
开发者ID:kazuhira-r,项目名称:hazelcast-examples,代码行数:10,代码来源:CalcService.java


示例20: add

import javax.cache.annotation.CacheResult; //导入依赖的package包/类
@GET
@Path("add")
@Produces(MediaType.TEXT_PLAIN)
@CacheResult(cacheName = "calcCache")
public int add(@QueryParam("a") int a, @QueryParam("b") int b) throws InterruptedException {
    TimeUnit.SECONDS.sleep(3);

    return a + b;
}
 
开发者ID:kazuhira-r,项目名称:hazelcast-examples,代码行数:10,代码来源:CachedCalcResource.java



注:本文中的javax.cache.annotation.CacheResult类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Fixture类代码示例发布时间:2022-05-21
下一篇:
Java Selenium类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap