我们正在尝试升级到最新的sonarqube 5.5.我们有mariadb 10.1(最新),从现在开始我们对sonarqube没有任何问题.
现在,随着升级,sonarqube将无法启动.它说:
不支持的mysql版本:5.5.支持的最低版本是5.6.
我们可以使用什么技巧让"声纳思考"我们使用的是mysql 5.6吗?
以下代码在JDK 11中引发错误:
HttpURLConnection con = (HttpURLConnection) new URL("https://sis.redsys.es/sis/realizarPago").openConnection();
con.setRequestMethod("GET");
con.getResponseCode();
Run Code Online (Sandbox Code Playgroud)
错误是:
javax.net.ssl.SSLHandshakeException: extension (10) should not be presented in server_hello
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:128)
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:268)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
at java.base/sun.security.ssl.SSLExtensions.<init>(SSLExtensions.java:71)
at java.base/sun.security.ssl.ServerHello$ServerHelloMessage.<init>(ServerHello.java:169)
at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.java:860)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:390)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:445)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:178)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:877)
at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:810)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:383)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
Run Code Online (Sandbox Code Playgroud)
它在任何以前的JDK中工作(我在7,8,9和10中测试过).
证书似乎是有效的,因为它被浏览器识别或我在互联网上发现的大多数SSL测试.
我已经尝试禁用主机名验证,禁用cacerts,将DigiCert添加到cacerts文件中没有任何运气.
这似乎是openJDK中的一个错误.在构建版本26,27和28(发布候选版本)中测试.
我正在使用 selenium-docker 项目在 docker 容器内运行 chrome,无需XVFB( START_XVFB=false)。
我想使用 webgl 支持。对于 chrome v95 及更低版本 ( https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.1.0-prerelease-20211105 ),启用了 webgl (使用https://get.webgl.org/检查) 。
但是,当使用 chrome v96 或更高版本时,它不起作用(https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.1.2-20220131)。我可以看到gpu 进程有--use-gl=disabled参数,这在 chrome v95 中不会发生。
seluser@6e0bab2896f2:/$ ps aux|grep chrome
seluser 136 0.0 0.0 16875056 16500 ? Sl 22:36 0:00 /opt/selenium/chromedriver-97.0.4692.71 --port=48167
seluser 153 0.7 0.0 17181620 99736 ? Sl 22:36 0:00 /opt/google/chrome/chrome --no-sandbox --allow-pre-commit-input --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-blink-features=ShadowDOMV0 --enable-logging --headless --log-level=0 --no-first-run …Run Code Online (Sandbox Code Playgroud) 我刚刚迁移到Tomcat 8.我曾经使用系统属性,org.apache.el.parser.COERCE_TO_ZERO=false因此空字符串,数字,布尔值等被视为null.
在Tomcat 8,EL 3.0中,它应该是默认值,但它实际上是在JSF端将null字符串转换为空字符串"".
它应该是一个错误,它应该被纠正,但我无法让它在TomEE快照(Tomcat 8.0.27.0,MyFaces 2.2.8)中运行.
我开始在我们的项目中引入kotlin,并且我将一些实体转换为kotlin作为更大的重构的一部分.
我的实体有一个布尔活动属性:
private boolean active = true;
public boolean isActive() {
return active;
}
public void setActive(final boolean active) {
this.active = active;
}
Run Code Online (Sandbox Code Playgroud)
现在在kotlin这应该是:
var isActive: Boolean = true
Run Code Online (Sandbox Code Playgroud)
问题是,这种方式我必须重构现有的查询,而不是一个大问题,但我期待一个更顺利的过渡.
我可以这样做:
var active: Boolean = true
val isActive: Boolean
get()= active
Run Code Online (Sandbox Code Playgroud)
但感觉不对.什么是最好的方式?