草庐IT

spring-cloud-starter-lo

全部标签

java - Spring Security 是如何跨 Web 应用请求在一个线程中管理 SecurityContext 的?

在SpringSecurity中,它有一个类名SecurityContextHolder及其规范:“将给定的SecurityContext与当前执行线程相关联。”对于Web应用程序,每当请求到达服务器时,Spring也会重新加载并在SecurityContextHolder中为其线程设置该请求的SecurityContext吗? 最佳答案 是的,SecurityContextPersistenceFilter照顾这个。默认情况下,它在HttpSession中定位SecurityContext,并通过SecurityContextHo

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-

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 - 使用 new 关键字创建的 Spring bean (@Component) 中的 Autowiring

我有两个springbean如下:@Component("A")@Scope("prototype")publicclassAextendsTimerTask{@AutowiredprivateCampaignDaocampaignDao;@AutowiredprivateCampaignManagercampManger;A(){init_A();}}由于遗留代码,我必须使用new关键字创建A的新对象@Component("B")@Scope("prototype")publicclassB{publicvoidtest(){Aa=newA();}}当运行->类A中的springbe