我使用"Jersey测试框架"对我的webservice进行单元测试.
这是我的资源类:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
// The Java class will be hosted at the URI path "/helloworld"
@Path("/helloworld")
public class class HelloWorldResource {
private SomeService service;
@GET
@Produces("text/plain")
public String getClichedMessage() {
// Return some cliched textual content
String responseFromSomeService = service.getSomething();
return responseFromSomeService;
}
}
Run Code Online (Sandbox Code Playgroud)
如何在单元测试中模拟SomeService?
我有以下两个包:
com.mycorp.project.first
com.mycorp.project.second
我想配置Log4J(SLF4J)将日志从一个包写入一个文件,并从另一个包写入第二个文件.我不希望他们混在一起.
要清楚,这是一个项目/一个进程正在运行.
我尝试过滤和使用logger但是它们似乎被log4j忽略了.两个文件总是相同的.
编辑:谢谢你到目前为止的答案,这是我得到的,它不起作用.两个输出文件都是相同的.
<configuration debug="true">
<contextName>dev</contextName>
<appender name="FIRST_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>A:/dev/LogTesting/logs/first.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>A:/dev/LogTesting/logs/first.%d{yyyyMMdd}%d{_HHmmss,aux}.log.gz</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{MMM dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="SECOND_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>A:/dev/LogTesting/logs/second.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>A:/dev/LogTesting/logs/second.%d{yyyyMMdd}%d{_HHmmss,aux}.log.gz</fileNamePattern>
</rollingPolicy>
<encoder>
<Pattern>%d{MMM dd HH:mm:ss.SSS} %property{HOSTNAME} [%thread] %level %logger{36} %msg%n</Pattern>
</encoder>
</appender>
<!-- =============================================================== -->
<logger name="com.test.apples" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FIRST_FILE" />
</logger>
<logger name="com.test.oranges" additivity="false">
<level value="DEBUG" />
<appender-ref ref="SECOND_FILE" />
</logger>
<!-- …
Run Code Online (Sandbox Code Playgroud) 要求 :
- 想用Builder模式
- 杰克逊进行反序列化
- 不想使用setter
我确信杰克逊的工作基于POJO上的吸气剂和制定者.既然,我有建造者模式,再没有重要的东西.在这种情况下,我们如何在Builder模式的帮助下指示jackson反序列化?
任何帮助,将不胜感激.我试过@JsonDeserialize(builder = MyBuilder.class)并且无法正常工作.
这在REST球衣中是必需的.我目前是杰克逊编组和解编的jersey-media-jackson maven模块.
如何轻松恢复分区。这是场景:
- 在现有外部表“ t”上具有“ n”个分区
- 删除表格“ t”
- 重新创建表't' // //注意:相同的表,但排除了某些列
- 如何恢复步骤#1中表't'的'n'分区?
我可以通过编写一些脚本来手动更改表以添加“ n”分区。但这非常乏味。是否有内置的东西来恢复这些分区?