我无法找到一种方法来读取带时区的timestamp类型的PostgreSQL列中的时区值.
JDBC提供方法java.sql.ResultSet #getTimestamp(int,java.util.Calendar), 但我必须提供自己的日历.我看不到从我正在阅读的时间戳字段获取该日历.
我正在研究存储多个时区的时间数据的系统.我需要使用时区信息保存数据,并能够从数据库中读取该时区.
是不是没有黑客这样的可能
我正在使用JDBC 41(JDBC4 Postgresql驱动程序,版本9.4-1201),java 8.
我正在使用Sonar 5.2分析用TestNG编写的Java项目。我有在类上(而不是方法上)带有@Test批注的测试类。
我的测试工作正常(testNG将所有公共方法都视为测试,每个方法都不需要@Test注释),但是声纳会产生警告
TestCases应包含测试(鱿鱼:S2187)
如果我在方法上使用@Test批注,此警告将消失。
在我看来,它像是假阳性(我的课程有测试方法)。对于testNG测试,如果类在类级别具有@Test注释并且至少具有一个公共方法,则应忽略squid:S2187规则。
这确实是squid:S2187规则中的错误,还是我缺少了什么?
编辑:我使用的是Sonar 5.2,java插件3.7在撰写本文时(2015年11月10日),我的Sonar是最新的。
是否可以使用 Jackson 序列化对象,但忽略使用注释注册的自定义序列化程序@JsonSerialize(using = MyCustomSerializer.class)?
理由:我想使用 Jackson 将我的对象转换为 Map,使用com.fasterxml.jackson.databind.ObjectMapper.convertValue(object,Map.class). 目前它不起作用,因为我的班级有自定义序列化程序(@JsonSerialize),但错过了反序列化程序。我需要自定义序列化器,我真的不需要也不想写反序列化器。
ObjectMapper.convertValue 使用我的序列化然后反序列化失败。
我想让 ObjectMapper 忽略@JsonSerialize 并使用默认的序列化逻辑。杰克逊有可能吗?
如何在Ansible中有效管理用户帐户?我想将用户帐户和证书保留在列表中.
在运行playbook时,我想从列表中创建每个帐户(这很简单).我还想删除主机上现有的帐户,但不在列表中.
现在,我想出了现有帐户列表
awk -F: '($3 >= 1000) {printf "%s\n",$1}' /etc/passwd
并将其与我的列表进行比较 - 删除不需要的帐户.
是否有更简单的方法模块可以实现开箱即用的功能?
我想知道评论的确切位置以及我应该使用什么关键字,因为我似乎真的无法在网上找到示例,例如我应该这样做吗?
/**
* @invariant invariant example
*/
public class Example {
}
Run Code Online (Sandbox Code Playgroud) 我有 Spring Boot Web 应用程序。它在端口 8080 上公开 REST API。它还通过 Spring Boot 管理端点公开管理端口 8081 ( http://docs.spring.io/spring-boot/docs/current/reference/html/product-ready-monitoring.html ) 。我没有任何自定义 Tomcat 配置来实现这一点。management.port=8081我的档案里只有财产application.properties。
我按照https://github.com/javamelody/javamelody/wiki/UserGuideAdvanced#spring-boot-app中的描述配置了 JavaMelody
(我有我的自定义JavaMelodyConfiguration类,带有org.springframework.boot.web.servlet.FilterRegistrationBean寄存器net.bull.javamelody.MonitoringFilter)。
@Bean
public FilterRegistrationBean javaMelody() {
final FilterRegistrationBean javaMelody = new FilterRegistrationBean();
javaMelody.setFilter(new MonitoringFilter());
javaMelody.setAsyncSupported(true);
javaMelody.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC);
javaMelody.addUrlPatterns("/*");
return javaMelody;
}
Run Code Online (Sandbox Code Playgroud)
通过此配置,Javamelody 暴露在端口 8080(业务端口)上。我想将其移至8081(管理端口)。如何改变这一点?
我使用 Spring Boot 1.4.2.RELEASE,javamelody 1.62.0
我的 Spring Boot 应用程序在 Docker 中运行,并由gradlew bootBuildImage. 在 Docker 容器中运行时应用程序无法加载字体
Caused by: java.lang.NullPointerException
at java.desktop/sun.awt.FontConfiguration.getVersion(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
根本原因似乎是缺少fontconfig软件包 ttf-dejavu。使用时Dockerfile,可以使用apk add、yum、apt-get等轻松安装这些软件包
但是https://github.com/paketo-buildpacks/spring-boot和https://github.com/paketo-buildpacks/bellsoft-liberica没有安装其他软件包的选项。
是否有构建包(或配置选项)可以构建具有字体支持的 Docker 映像?
我需要临时忽略规则"单元测试的分支覆盖不足"(common-java:InsufficientBranchCoverage).
阅读http://docs.sonarqube.org/display/SONAR/Frequently+Asked+Questions我看到它SuppressWarnings应该适用于所有规则.
但任何组合
@SuppressWarnings("common-java:InsufficientBranchCoverage")
@SuppressWarnings("InsufficientBranchCoverage")
@SuppressWarnings("java:InsufficientBranchCoverage")
Run Code Online (Sandbox Code Playgroud)
不适合我.
我使用Sonar 5.0,Sonar Java插件3.0.
编辑:
可以从声纳UI中抑制(移除)该警告.我看到两个解决方案
对我的质量配置文件禁用"单位测试的分支覆盖率不足"规则.缺点是,该规则对整个项目禁用,而不仅仅针对单个类
在浏览问题明细时将标记问题标记为忽略.这忽略了问题的单一发生.缺点是,需要在每个声纳项目中标记问题(我们有每个分支项目).当我需要删除警告时,我必须再次在声纳UI中为每个项目执行此操作.
如何从Ansible重启iptables服务(为了重新加载配置文件/etc/sysconfig/iptables)
我把处理程序restart iptables定义为
service: name=iptables enabled=yes state=restarted
Run Code Online (Sandbox Code Playgroud)
但它会产生以下错误消息:
致命:[xx.xx.xx.xx]:失败!=> {"已更改":false,"failed":true,"msg":"无法停止iptables.service:需要进行交互式身份验证.\n无法启动iptables.service:需要进行交互式身份验证.\n"}
我正在努力 CentOS Linux release 7.2.1511 (Core)
我正在使用Spring Integration,Java DSL(版本1.1.3)我的org.springframework.integration.dsl.IntegrationFlow定义如下
return IntegrationFlows.from(messageProducerSpec)
.handle(handler)
.handle(aggregator)
.handle(endpoint)
.get();
}
Run Code Online (Sandbox Code Playgroud)
messageProducerSpec 是的例子 org.springframework.integration.dsl.amqp.AmqpBaseInboundChannelAdapterSpec
我希望我的集成流程能够使用来自两个独立的消息messageProducerSpecs(两个独立的SimpleMessageListenerContainers,每个使用不同的消息ConnectionFactory).如何从多个messageProducerSpec构造integrationFlow?我看不到任何集成组件能够使用来自多个源的消息.
我的 RabbitMQ 监听器出现以下故障。我使用 Spring Boot 1.4.1 和 Spring Integration 4.3.3 (带有 spring-boot-starter-amqp 和 spring-integration-amqp)。我还使用 RabbitMQ 3.5.7。
少量消息会在大量流量下随机出现问题(到目前为止,在本地复制它并不走运)。
令我困惑的是,堆栈跟踪并不指向我的应用程序,而只是指向框架。下面我附上完整的堆栈跟踪。这是 spring、rabbitMQ 驱动程序还是服务器中的错误?
2017-05-02 10:38:42.337 [501de2ff-cd24-4c28-8434-48bc942457d9] WARN 1 --- [messageListenerContainer-2] s.a.r.l.ConditionalRejectingErrorHandler : Execution of Rabbit message listener failed.
org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener threw exception
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.wrapToListenerExecutionFailedExceptionIfNeeded(AbstractMessageListenerContainer.java:870)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:780)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:700)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$001(SimpleMessageListenerContainer.java:95)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$1.invokeListener(SimpleMessageListenerContainer.java:187)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.invokeListener(SimpleMessageListenerContainer.java:1187)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:681)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:1165)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:1149)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1100(SimpleMessageListenerContainer.java:95)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1312)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.messaging.MessageHandlingException: nested exception is java.lang.NullPointerException
at org.springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvokingMessageProcessor.java:96)
at org.springframework.integration.handler.ServiceActivatingHandler.handleRequestMessage(ServiceActivatingHandler.java:89)
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:109)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:127)
at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116) …Run Code Online (Sandbox Code Playgroud) 是否可以使用注释(在字段级别)为字段提供描述?
我知道我可以使用description方法
.andDo(document("index", responseFields(
fieldWithPath("contact").description("The user's contact details"),
Run Code Online (Sandbox Code Playgroud)
但是我更希望将该描述与字段定义一起放在我的响应对象中。
class IndexResponse {
//The user's contact details
String contract;
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以生成约束描述(http://docs.spring.io/spring-restdocs/docs/current/reference/html5/#_using_constraint_descriptions_in_genic_snippets),但是它仅生成验证注释的描述。
我正在寻找来自Swagger的https://github.com/swagger-api/swagger-core/wiki/Annotations#apimodelproperty之类的东西。
java ×8
ansible ×2
sonarqube ×2
buildpack ×1
centos7 ×1
invariants ×1
iptables ×1
jackson ×1
java-melody ×1
javadoc ×1
jdbc ×1
json ×1
paketo ×1
postgresql ×1
spring ×1
spring-boot ×1
spring-mvc ×1
stack-trace ×1
testng ×1