pom.xml
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
在Main类上,增加了以下用于缓存的注释
@EnableCaching
public class Application {
在src/main/resources下,ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="true" monitoring="autodetect" dynamicConfig="true">
<cache name="languageCache"
maxEntriesLocalHeap="20"
overflowToDisk="false"
eternal="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LRU"/>
<cache name="countryCache"
maxEntriesLocalHeap="280"
overflowToDisk="false"
eternal="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LRU"/>
..
..
more entries
</ehcache>
@Configuration
@EnableCaching
public class CacheConfig {
@Bean
public CacheManager getEhCacheManager() {
(new EhCacheCacheManager(getEhCacheFactory().getObject())).getCache("languageCache");
return new EhCacheCacheManager(getEhCacheFactory().getObject());
}
@Bean
public EhCacheManagerFactoryBean getEhCacheFactory() {
EhCacheManagerFactoryBean factoryBean = new EhCacheManagerFactoryBean();
factoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
factoryBean.setShared(true);
return factoryBean;
}
}
有什么建议吗,为什么缓存没有被拾取(我缺少一些配置?)在其他环境中?
谢谢。
除非类路径中有许多ehcache.xml
,否则它应该可以工作。@enableCaching
不会神奇地工作,除非您的类路径中有一个符合JSR107的实现(例如ehcache3),否则就不会正常工作。
你的代码有效。唯一奇怪的地方是您自己调用getObject()
。它仍然有效,但我会这么做的。
@Bean
public CacheManager cacheManager(net.sf.ehcache.CacheManager cacheManager) {
return new EhCacheCacheManager(cacheManager);
}
@Bean
public EhCacheManagerFactoryBean cacheManagerFactory() {
EhCacheManagerFactoryBean factoryBean = new EhCacheManagerFactoryBean();
factoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
factoryBean.setShared(true);
return factoryBean;
}
也就是说,事实上,我会做一些更简单的事情:
@Configuration
@EnableCaching
public class CacheConfig extends CachingConfigurerSupport {
@Bean
@Override
public CacheManager cacheManager() {
return new EhCacheCacheManager(new net.sf.ehcache.CacheManager());
}
}
我尝试使用bytebuddy在springboot中实现aop。代码如下: springboot的监听器如下: 最后,在springboot启动中注册侦听器: 当我启动应用程序时,调试记录器显示良好。然而,当请求被处理时,aop不起作用。我做错了什么?我很困惑。。。
我正在尝试使用Mockito在SprinBoot应用程序中进行一些jUnit测试。 现在我的服务有了一些变量,可以从通过注释: 我试图通过像这样使用来测试这个: 但是,该属性不会被填充,并保持为。 这方面有很多TPOIC,但我还没能拼凑出一个解决方案。我看到解决方案建议,但它似乎想做一个集成测试,使服务加速,但由于无法连接到数据库,服务失败了。所以这不是我想要的。 我还看到一些解决方案建议我制作一
我正在尝试为java设置一个PATH环境变量。当我按照下面的方式设置变量值时,在cmd中输入“java”时,它可以很好地工作 但是对于下面的错误,“java”不被识别为内部或外部命令, 我用的是windows 8。你知道为什么上面的变量不起作用吗?
我在React本地(世博环境)导航有问题。我想使用在中的上放置一个保存按钮,但是会抛出错误消息,该消息在附加的中给出。 另外,由于这个按钮需要访问组件状态,所以我不想在外部使用 如何访问和修改组件中的标头部分?
我正在为我们的一个项目使用Azure AD身份验证,该项目是Azure web服务,它在localhost中运行良好,但当我在Azure环境中部署它时,注销无法正常工作。当我尝试注销时,它会将我带到Microsoft注销页面,但突然它会在没有任何身份验证的情况下重定向到我的主页。下面是我尝试注销时触发的示例链接。 https://login.microsoftonline.com/tenant-k
本文向大家介绍SpringBoot生产环境和测试环境配置分离的教程详解,包括了SpringBoot生产环境和测试环境配置分离的教程详解的使用技巧和注意事项,需要的朋友参考一下 第一步:项目中资源配置文件夹(resources文件夹)下先新增测试环境application-dev.yml和application-prod.yml两个配置文件,分别代表测试环境配置和生产环境配置 第二步:在applic
我有一个简单的Spring Boot应用程序,其中有一个jpa存储库对象,我希望它在类中自动生成,如下所示。 下面是类 我有以下例外。
问题内容: 我已经通过两种方式为我的单元测试创建了用户: 1)为“ auth.user”创建一个大致如下的灯具: 我省去了看似不重要的部分。 2)在setUp函数中使用“ create_user”(尽管我宁愿将所有内容保留在我的Fixture类中): 请注意,两种情况下的密码均为辛普森。 我已验证该信息一次又一次正确地加载到测试数据库中。我可以使用User.objects.get来获取User