我不小心做了push --force错误的回购(太多的termminals打开),有效地将master分支重新设置回早期的提交.
看看我的构建系统,我可以看到提交用于指向XYZ,但是我没有本地提交,因为我最近没有进行过pull或fetch.回购在Github,我可以在Github中导航查看提交,所以我知道它在那里.
我怎样才能下拉提交,这样我就可以重新设置master回正确的提交而不必打扰推动该更改的开发人员?
Spring Boot 1.4补充@WebMvcTest说,连接部件需要测试我的应用程序的Web片段.这太棒了,但我也想确保我的自定义过滤器和安全代码已连线,这样我就可以验证它是否正常工作.
如何在使用时添加自定义过滤器@WebMvcTest?
当我RequestMapping在Spring MVC中配置我的s时,我想Allow在使用该OPTIONS方法时自动生成正确的头.
例如,使用此控制器:
@Controller
@RequestMapping("/test")
public class TestController {
@RequestMapping(method = RequestMethod.GET)
ResponseEntity<String> getTest() {
return new ResponseEntity<>("test", HttpStatus.OK);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我OPTIONS对该URL 发出请求,我会得到405,方法不允许.相反,我希望它能自动回复
Allow: GET, OPTIONS 和 204 - No content
我有一个想法添加拦截器,如下所示:
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new HandlerInterceptor() {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if("OPTIONS".equalsIgnoreCase(request.getMethod())){
response.setHeader("Allow", "GET, OPTIONS");
response.setStatus(204);
//TODO figure out the @Controller and what possible methods exist
return false;
}
return …Run Code Online (Sandbox Code Playgroud) 我有一个MockMVC测试,我正在尝试利用控制器方法匹配器,如下所示:
@Test
public void environmentTopology() throws Exception {
mockMvc.perform(get("/topology/{environmentId}", "envB"))
.andExpect(handler().methodCall(on(ManagerController.class)
.environmentTopology("envB", true)));
}
Run Code Online (Sandbox Code Playgroud)
这应该允许我验证environentTopology测试调用ManagerController的方法.但是我得到以下异常:
java.lang.IllegalArgumentException: Cannot subclass final class java.lang.String
at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:565)
at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:329)
at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:492)
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93)
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91)
at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116)
at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291)
at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:480)
at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:337)
at org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder.initProxy(MvcUriComponentsBuilder.java:611)
at org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder.access$000(MvcUriComponentsBuilder.java:89)
at org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder$ControllerMethodInvocationInterceptor.intercept(MvcUriComponentsBuilder.java:725)
Run Code Online (Sandbox Code Playgroud) 我试图找到 Grafana 中所有 URL 的平均响应时间,
下面的查询没有返回任何数据,我在这里做错了什么?
avg by (uri) (rate(http_server_requests_seconds_sum{app_name="$app",
namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m])
/rate(http_server_requests_seconds_count{app_name="$app",
namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m]))
Run Code Online (Sandbox Code Playgroud)
数据通过千分尺收集。
我的Java应用程序公开了Prometheus指标.我想为每个指标添加额外的标记,因此当它们被删除时,我可以在查询中使用这些标记.
我正在尝试监视已登录的用户,我通过调用api获取已登录的用户信息,这是我使用的代码,
public class MonitorService {
private InfoCollectionService infoService;
public MonitorService(InfoCollectionService infoService) {
this.infoService = infoService
}
@Scheduled(fixedDelay = 5000)
public void currentLoggedInUserMonitor() {
infoService.getLoggedInUser("channel").forEach(channel -> {
Metrics.gauge("LoggedInUsers.Inchannel_" + channel.getchannelName(), channel.getgetLoggedInUser());
});
}
}
Run Code Online (Sandbox Code Playgroud)
我在Prometheus中看到了值,问题出在几秒钟后,该值变成NaN,我已经读到千分尺用WeakReference(因此收集了垃圾)包装了它们的obj输入,我不知道如何解决它。如果有人知道如何解决这个问题,那就太好了。
java ×5
prometheus ×3
spring-boot ×3
spring ×2
git ×1
github ×1
grafana ×1
micrometer ×1
promql ×1
spring-mvc ×1
spring-test ×1
testing ×1