草庐IT

spring-boot-starter-data-redis

全部标签

java - 使 Spring bean 的行为类似于 ExecutorService 的 ThreadLocal 实例

在我的网络应用程序中,我有一个后台服务。此服务使用Generator类,该类包含一个Engine类和一个配置为使用多线程并接受GeneratorTasks的ExecutorService。@ComponentpublicclassGenerator{@AutowiredprivateEngineheavyEngine;privateExecutorServiceexec=Executors.newFixedThreadPool(3);//IactuallypassthesingletoninstanceGeneratorclassintothetask.publicvoidsubmit

java - 自定义 Spring AOP Around + @Transactional

我实现了自定义Around以匹配自定义注释。我希望自定义在外部@Transactional中执行。不幸的是,这似乎不起作用。(AOP正在运行。我看到显示它的堆栈跟踪)。堆栈跟踪显示我的AOP在(记录器)之前执行,MyBatissession开始一个事务,MyBatis关闭事务,Spring关闭事务然后我的AOP完成。我认为让我的AOP实现Ordered会有所帮助。我将返回的值设置为1。我使用.这没有用。我认为这是因为我误解了Spring的命令方式。AdviceorderingWhathappenswhenmultiplepiecesofadviceallwanttorunatthesa

java - Spring 引导指标 + datadog

有谁知道如何将Springboot指标与datadog集成?Datadog是面向IT的云级监控服务。它允许用户使用大量图表和图形轻松地查看他们的数据。我有一个使用dropwizard的springboot应用程序指标来填充有关我用@Timed注释的所有方法的大量信息。另一方面,我正在heroku中部署我的应用程序,所以我无法安装Datadog代理。我想知道是否有一种方法可以自动将springboot指标系统报告与datadog集成。 最佳答案 我终于找到了一个将这个库与datadog集成的dropwizzard模块:metrics-

【已解决】Redis错误:Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功完成。

报错:redis服务在window下启动,报错:CouldnotcreateserverTCPlisteningsocket127.0.0.1:6379:bind:操作成功完成。原因:6379端口已绑定。应该是因为上次服务没有关闭解决方法:①依次输入命令:redis-cli.exe(启动redis客户端,连接本机6379端口(127.0.0.1)并启动redis服务)shutdownexit②启动redis服务:redis-server.exeredis.windows.conf

java - Spring:@Resource 注入(inject)在 JDK9 下停止工作

在我的@Configuration类中,我有如下依赖项:@ConfigurationpublicclassMyConfig{@Resource(name="firstDataSource")privateDataSourcefirstDataSource;//morecode}依赖注入(inject)在OracleJDK8中有效:firstDataSource字段已成功注入(inject)非空值。现在我尝试在JDK9中运行该应用程序(没有修改)。结果是@Resource不再触发依赖注入(inject):使用此注释注释的所有内容都保持为null.@Resource停止工作的原因可能是什么

java - 如何在 application.yml Spring Cloud Gateway 中指定自定义过滤器

我有一个自定义网关过滤器MYGatewayFilter.java文件,现在我想将此网关过滤器与我在application.yml中编写的路由一起使用spring:cloud:gateway:routes:-id:login2_routeuri:http://127.0.0.1:8083/loginpredicates:-Path:/login/filters:我如何为上面的路由定义过滤器自定义过滤器MyGatewayFilter.javapublicclassMyGatewayFilterimplementsGatewayFilter{@OverridepublicMonofilter

java - 在 Spring 2.5 中注册关闭钩子(Hook)

我有一个spring应用程序,它在关闭时不调用beandestroy方法。我已经看到对这个的引用是由于beanRefFactory中的实例化,这可以通过在应用程序上下文中手动调用registerShutdownHook()来规避。这个方法似乎已经从2.0-2.5版本之间的spring中消失了。有人能指出我现在是如何完成的吗?谢谢。 最佳答案 此方法在ConfigurableApplicationContext中仍然可用并由AbstractApplicationContext实现.所以你可以这样做ApplicationContextc

java - 测试 Spring @MVC 注解

前几天我遇到了一个问题,@Valid注释被意外地从Controller类中删除了。不幸的是,它没有破坏我们的任何测试。我们的单元测试都没有实际使用SpringAnnotationMethodHandlerAdapter路径。我们只是直接测试我们的Controller类。如果我的@MVC注释有误,我该如何编写单元测试或集成测试正确失败?有没有一种方法可以让Spring使用MockHttpServlet或其他东西找到并运行相关的Controller? 最佳答案 我为这种事情写集成测试。假设您有一个带有验证注释的bean:publiccl

java - 使用 Spring Security 标签库时将异常映射到 404 页面

将异常映射到404页面时,SpringSecurity标记无法从安全上下文中找到身份验证信息。使用“真正的”404可以找到身份验证。我的web.xml:com.example.NotFoundException/app/404404/app/404在我的JSP上:/app/404路径映射到只返回View的Controller。当我浏览到/foo/some_invalid_id时,NotFoundException从Controller中抛出,最后当它转到JSP时,它无法在SecurityContext并且不呈现这两个选项。相反,当我浏览到/something_that_really_d

Java内存模型同步: how to induce data visibility bug?

“Java并发实践”给出了以下不安全类的示例,由于java内存模型的性质,它可能会永远运行或打印0。这个类试图证明的问题是这里的变量不是在线程之间“共享”的。因此,线程看到的值可能与另一个线程不同,因为它们不是volatile或同步的。同样由于JVM允许的语句重新排序,ready=true可能设置在number=42之前。对我来说,这个类使用JVM1.6总是能正常工作。关于如何让此类执行错误行为(即打印0或永远运行)的任何想法?publicclassNoVisibility{privatestaticbooleanready;privatestaticintnumber;private