假设我有以下字符串:'product = 1627; color = 45; size = 7'在表的某些字段中.我想查询颜色并得到45.
有了这个查询:
SELECT REGEXP_SUBSTR('product=1627;color=45;size=7', 'color\=([^;]+);?') "colorID"
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
我明白了:
colorID
---------
color=45;
1 row selected
Run Code Online (Sandbox Code Playgroud)
.
是否有可能获得匹配字符串的一部分 - 这个例子是45?
最近,我们将应用程序从在tomcat中运行的Web应用程序移植到了具有嵌入式tomcat的spring boot应用程序。
在运行该应用程序几天后,内存和CPU使用率已达到100%。在堆转储分析中,发现有一堆未删除的http会话对象。
我可以在调试中看到使用配置的超时值创建的会话(比如说5分钟)。但是在此时间之后,无效不会触发。仅当我在超时时间段后再次请求时才调用它。
我已经将此行为与在Tomcat中运行的应用进行了比较,并且可以看到会话无效是由ContainerBackgroungProcessor线程[StandardManager(ManagerBase).processExpires()]触发的
我在Spring Boot应用程序中看不到该后台线程。
根据发现的一些建议进行了什么操作:
在application.properties:server.session.timout = 300或EmbeddedServletContainerCustomizer @Bean中设置的会话超时:factory.setSessionTimout(5,TimeUnit.MINUTES)
添加了HttpSessionEventPublisher和SessionRegistry bean
没有任何帮助,会话不会在到期时失效。
关于这个的一些线索?