有没有办法检查对象是否在EHCache托管缓存中?
我面临的挑战是我已经实现了一个从数据库中检索单个值的方法(一个find(key)方法).EHCache很好地缓存了find方法的结果,但是现在我想减少多次调用该方法导致的sql查询数.
所以实现这个我们实现了一个新的方法,因为参数需要一个键列表,但由于每个方法调用的参数不同,EHCache在缓存结果方面做得不好.EHCache使用方法参数作为缓存的入口点.
所以我想重新设计一些东西.我的想法是,我在查找(键列表)方法中获取参数,执行一个大型的SQL查询,然后将结果填入缓存中,我没有把头包裹起来,但是在写下来后感觉就像手动修改缓存是不行的..
任何见解或提示都表示赞赏!
我正在尝试使用Grails/Groovy枚举进行i18n本地化工作,
public enum Notification {
GENERIC(0),
CONFIRM_RESERVATION(100),
CONFIRM_ORDER(200),
CONFIRM_PAYMENT(300),
final int id;
private Notification(int id) {
this.id = id
}
String toString() {
id.toString()
}
String getKey() {
name()
}
}
Run Code Online (Sandbox Code Playgroud)
有关如何实现这一目标的任何提示?我试图将完整的类名等放在本地化中,但这似乎不起作用
<g:select from="${Notification.values()}" name="notification" valueMessagePrefix="full.path.to.package.Notification"/>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用特定版本的Java 8构建一个Docker Container(使用Dockerfile).很多示例都针对最新版本.
RUN add-apt-repository -y ppa:webupd8team/java
RUN apt-get update -y
RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
RUN apt-get install -y oracle-java8-installer
Run Code Online (Sandbox Code Playgroud)
我需要控制我的容器配置的Java的特定版本.有关如何实现这一点的任何提示?例如Java 8更新31.
我们正在使用不同的架构层构建一个小型应用程序,例如域,接口,基础架构和应用程序.这遵循洋葱DDD模型.现在我想知道将应用程序拆分为多模块maven项目是否有任何好处.据我所知,现在似乎使事情变得比需要的更困难.整个应用程序将作为单个WAR文件部署到Tomcat容器中.
您好我在尝试使用BootStrap 2在屏幕中间放置一个登录表单.我已尝试使用偏移等的几种组合.但我似乎没有运气...
<div class="row-fluid">
<form action='' method='POST' id='loginForm' class='form-horizontal' autocomplete='off'>
...
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
关于我如何实现这一目标的任何建议?
我正在使用新的Grails Spring Security Core 2.0插件,我想知道如何自定义登录视图和LoginController/LogoutController?
以前版本的插件生成了这些文件,但现在看来我必须将它们从插件复制到我的项目中.这是正确的方法吗?
如果是这样,我可以将复制的控制器和视图放入另一个包中,然后放入原始包中.IntelliJ似乎不喜欢在同一个包中使用相同的工件.
在将数据插入MongoDB时,Spring Data正在添加一个自定义的"_class"列,有没有办法在使用Spring Boot和MongoDB时消除"类"列?
或者我需要创建自定义类型映射器吗?
任何提示或建议?
目前我在Mac上使用SublimeText 3,但我无法"评论"现有的Groovy代码.当我使用菜单或快捷键时,菜单和快捷键不会放置实际的"//"注释.我搜索过但我只找到了解决方案来解决SublimeText 2.这些复制一些Java注释的解决方案不起作用.
关于如何在SublimeText 3中启用Groovy注释的任何解决方案?
当将@Autowired用于自定义cxf拦截器时,我似乎遇到了一个小问题.我的用例是我想记录soap消息并使用AMQP将它们发送到另一个系统.此过程适用于普通服务等.但无论我做什么,所需的属性都不会自动装配并保持为空.
我查看了Spring DI日志并扫描并拾取了上下文,所以我错过了什么?
这在CXF拦截器中甚至可能吗?
@Component
public class LogInInterceptor extends AbstractSoapInterceptor {
private @Value("#{rabbitMQProperties['rabbitmq.binding.log.soap']}")
String binding;
@Autowired
AmqpTemplate amqpTemplate;
public LogInInterceptor() {
super(Phase.RECEIVE);
}
@Override
public void handleMessage(SoapMessage soapMessage) throws Fault {
logIt(soapMessage);
}
private void logIt(SoapMessage message) throws Fault {
// rest of the code omitted...!!!
amqpTemplate.convertAndSend(binding, buffer.toString());
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试让 SpringCloud AWS SQS 与自定义一起工作,SimpleMessageListenerContainerFactory以便我可以设置超时和最大消息数。没有使用SQS 中SimpleMessageListenerContainerFactory的@SqsListener良好拾取消息注释的自定义方法。但是当我尝试配置自定义时SimpleMessageListenerContainerFactory,注释停止工作。
@Bean
public SimpleMessageListenerContainerFactory simpleMessageListenerContainerFactory(AmazonSQSAsync amazonSqs) {
SimpleMessageListenerContainerFactory factory = new SimpleMessageListenerContainerFactory();
factory.setAmazonSqs(amazonSqs);
factory.setAutoStartup(true);
factory.setMaxNumberOfMessages(10);
factory.setWaitTimeOut(2000);
return factory;
}
Run Code Online (Sandbox Code Playgroud)
定义自定义 SimpleMessageListenerContainerFactory 时如何获得正常的 @SqsListener 行为?
@Component
public class SqsMessageConsumer {
@SqsListener("incoming-data")
private void doSomething(String payload) {
System.out.println("data = " + payload);
}
}
Run Code Online (Sandbox Code Playgroud) java ×3
spring ×3
grails ×2
groovy ×2
spring-boot ×2
amazon-sqs ×1
caching ×1
cxf ×1
docker ×1
dockerfile ×1
ehcache ×1
enums ×1
forms ×1
html ×1
macos ×1
maven ×1
multi-module ×1
spring-cloud ×1
spring-data ×1
sublimetext ×1
sublimetext3 ×1
web-services ×1