我有以下Logger我想模拟,但验证日志条目被调用,而不是内容.
private static Logger logger =
LoggerFactory.getLogger(GoodbyeController.class);
Run Code Online (Sandbox Code Playgroud)
我想模拟用于LoggerFactory.getLogger()的任何类,但我无法找到如何做到这一点.这是我到目前为止所得到的:
@Before
public void performBeforeEachTest() {
PowerMockito.mockStatic(LoggerFactory.class);
when(LoggerFactory.getLogger(GoodbyeController.class)).
thenReturn(loggerMock);
when(loggerMock.isDebugEnabled()).thenReturn(true);
doNothing().when(loggerMock).error(any(String.class));
...
}
Run Code Online (Sandbox Code Playgroud)
我想知道:
LoggerFactory.getLogger()以适用于任何类吗?when(loggerMock.isDebugEnabled()).thenReturn(true);的@Before,因此我似乎无法改变每个方法的特点.有没有解决的办法?编辑发现:
我以为我已经尝试了这个并且它没有用:
when(LoggerFactory.getLogger(any(Class.class))).thenReturn(loggerMock);
Run Code Online (Sandbox Code Playgroud)
但是,谢谢你,因为它确实有效.
但是我尝试了无数的变化:
when(loggerMock.isDebugEnabled()).thenReturn(true);
Run Code Online (Sandbox Code Playgroud)
我不能让loggerMock改变它的行为,@Before但这只发生在Coburtura上.使用Clover,覆盖率显示为100%,但仍然存在问题.
我有这个简单的课程:
public ExampleService{
private static final Logger logger =
LoggerFactory.getLogger(ExampleService.class);
public String getMessage() {
if(logger.isDebugEnabled()){
logger.debug("isDebugEnabled");
logger.debug("isDebugEnabled");
}
return "Hello world!";
}
...
}
Run Code Online (Sandbox Code Playgroud)
然后我有这个测试:
@RunWith(PowerMockRunner.class)
@PrepareForTest({LoggerFactory.class})
public class ExampleServiceTests {
@Mock
private Logger loggerMock;
private ExampleServiceservice = new ExampleService();
@Before
public …Run Code Online (Sandbox Code Playgroud) 我有一个具有Map的域对象:
private Map<AutoHandlingSlotKey, LinkedHashSet<AutoFunction>> autoHandling;
Run Code Online (Sandbox Code Playgroud)
当我序列化对象时,我得到了这个:
"autoHandling" : [ "java.util.HashMap", {
} ],
Run Code Online (Sandbox Code Playgroud)
这个Map的关键是一个自定义对象:
public class AutoHandlingSlotKey implements Serializable {
private FunctionalArea slot; // ENUM
private String returnView; // ENUM
Run Code Online (Sandbox Code Playgroud)
所以,我不确定如何纠正我在反序列化对象时遇到的这个问题:
org.codehaus.jackson.map.JsonMappingException: Can not find a (Map) Key deserializer for type [simple type, class com.comcast.ivr.core.domain.AutoHandlingSlotKey]
Run Code Online (Sandbox Code Playgroud)
如果我没有访问域对象进行修改,有人可以帮助我理解如何纠正这个问题吗?
我正在从VisualVM 1.3.2迁移到1.3.3,并希望将我设置的所有远程服务器和应用程序移动到这个新安装中.
我查看了%HOMEPATH%\ Application Data.visualvm\1.3.2并查看了模块和首选项的配置,但与我设置的应用程序无关.
请帮忙,因为我需要配置超过150台服务器.
我一直试图让1.50或1.40 ANSICON(https://github.com/adoxa/ansicon)工作,看了很多关于如何安装这个的页面:http: //blog.mmediasys.com/2010/ 11/24/we-all-love-colors / http://carol-nichols.com/2011/03/the-system-cannot-find-the-path-specified/
等等....
所以,我将我的AutoRun设置为"C:\ usr\bin\ansi140\x64\ansicon.exe"-p,我也测试了150但是没有变化.
我的整个团队都没有这个问题,但是我无法解决这个问题.我仍然在命令提示符下得到乱码垃圾:
Scenario: Residential caller chooses to hear payment locations closest to home and there are 3 locations available which are in a 25 miles radius.?[90m #
features\payment_locations.feature:5?[0m
?[32mGiven the call flow is '?[32m?[1mDivisional?[0m?[0m?[32m'?[90m
# features/step_definitions/common_steps.rb:5?[0m?[0m
?[32mAnd the ani is '?[32m?[1m6101234572?[0m?[0m?[32m'?[90m
# features/step_definitions/common_steps.rb:9?[0m?[0m
?[32mAnd the dnis is '?[32m?[1m9?[0m?[0m?[32m'?[90m
# features/step_definitions/common_steps.rb:13?[0m?[0m
?[31mWhen the call is started?[90m
# features/step_definitions/common_steps.rb:17?[0m?[0m
?[31m Connection refused - Connection refused (Errno::ECONNREFUSED)?[0m
?[31m org/jruby/ext/socket/RubyTCPSocket.java:121:in `initialize'?[0m
?[31m org/jruby/RubyIO.java:864:in `new'?[0m …Run Code Online (Sandbox Code Playgroud) 使用Gradle帮助运行Jetty 9
我已经看到了如何在如何运行Jetty -7-with-specified-war-with-groovy-gradle和setting_up_embedded_jetty_8_and_spring_mvc_with_maven上运行Jetty的引用
但我想在Gradle中运行新的Eclipse Jetty 9.
我试过这个:
task jetty8Run(type: JavaExec, dependsOn: assemble) {
main = "org.eclipse.jetty.server.Server"
args = ["--port", 8080, "--stop-port", 9876, "--stop-key", 'shutterdown', war.archivePath]
classpath configurations.jetty8
}
Run Code Online (Sandbox Code Playgroud)
我使用它作为依赖项:
jettyEclipse "org.eclipse.jetty:jetty-server:$jetty9Version"
jettyEclipse "org.eclipse.jetty:jetty-servlet:$jetty9Version"
jettyEclipse "org.eclipse.jetty:jetty-webapp:$jetty9Version"
jettyEclipse "org.eclipse.jetty:jetty-servlets:$jetty9Version"
jettyEclipse "org.eclipse.jetty:jetty-jsp:$jetty9Version"
jettyEclipse "javax.servlet:jstl:1.2"
Run Code Online (Sandbox Code Playgroud)
在我的gradle.properties中:
jetty9Version: 9.0.0.M0
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时,我收到以下消息
An attempt to initialize for well behaving parent process finished.
Run Code Online (Sandbox Code Playgroud)
这是完整的调试堆栈跟踪:
14:22:16.699 [INFO] [org.gradle.process.internal.DefaultExecHandle] Starting process 'command 'C:\usr\bin\Java\jdk1.7\bin\java.exe''. Working directory: C:\usr\git_workspaces\oxygen\code_wash Command: C:\usr\bin\Java\jdk1.7\bin\java.exe -Dfile.encoding=windows-1252 -cp C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.mortbay.jetty\jetty-runner\8.1.5.v20120716\jar\2f8a590e1dcdf75e40cabfc0803c3712b7f04360\jetty-runner-8.1.5.v20120716.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-server\9.0.0.M0\jar\7c6ea0dc0230fba0fe0e2a37490558477b9833c6\jetty-server-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-servlet\9.0.0.M0\jar\5bfecce207651c0f7861255061df32204e1f4ba0\jetty-servlet-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-webapp\9.0.0.M0\jar\b67fc43d6949e1bf66eb479fba3a9b335fa9dd0e\jetty-webapp-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-servlets\9.0.0.M0\jar\1cb5a7222ebec54e5c5b089d5c757ec6ac6506a0\jetty-servlets-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-jsp\9.0.0.M0\jar\5120a9a20405a286d158825257d50812d63493d4\jetty-jsp-9.0.0.M0.jar;C:\Users\mknuts6173c\.m2\repository\javax\servlet\jstl\1.2\jstl-1.2.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.mortbay.jetty\servlet-api\3.0.pre4\jar\d5611e63cefe84a858bb46a4cb1249dcb7ddb830\servlet-api-3.0.pre4.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.servlet\3.0.0.v201112011016\orbit\aaaa85845fb5c59da00193f06b8e5278d8bf3f8\javax.servlet-3.0.0.v201112011016.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.servlet.jsp\2.2.0.v201112011158\orbit\80b4ffe7c26ee97313bea2ddda5835fd38812ee4\javax.servlet.jsp-2.2.0.v201112011158.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\org.apache.jasper.glassfish\2.2.2.v201112011158\orbit\3945afe6a042228a92da320aec3fa1bc1308183b\org.apache.jasper.glassfish-2.2.2.v201112011158.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.servlet.jsp.jstl\1.2.0.v201105211821\orbit\db594f1c8fc00d536f6d135bd7f8a9a99a6b8eea\javax.servlet.jsp.jstl-1.2.0.v201105211821.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.el\2.2.0.v201108011116\orbit\ec8944c11833d84b0283a5afbad0fafb264f86a9\javax.el-2.2.0.v201108011116.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\com.sun.el\2.2.0.v201108011116\orbit\15f7774c3fa514835a371f47c152317704ea411a\com.sun.el-2.2.0.v201108011116.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\org.eclipse.jdt.core\3.7.1\orbit\5b79bfee0852ca685e33cab74496fa3400271b5b\org.eclipse.jdt.core-3.7.1.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-continuation\9.0.0.M0\jar\3031a06840cee834b640ae3d145044fb07aebdc4\jetty-continuation-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-util\9.0.0.M0\jar\7149f92459b45f91b5a0487a5edc300764392ee7\jetty-util-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-io\9.0.0.M0\jar\8dcc24862d1832e0035f893e227d38b656ecef49\jetty-io-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-http\9.0.0.M0\jar\c0a5dc125b94ebc049f60f66b5ce8b17a0d9d917\jetty-http-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-security\9.0.0.M0\jar\b18d3938499c88109283007657e4d89ffcc8aff3\jetty-security-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-xml\9.0.0.M0\jar\5421375311559e23bc77d1e65624f13406018467\jetty-xml-9.0.0.M0.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.activation\1.1.0.v201105071233\orbit\b394a9fbf664ca835452b3ced452710bcf79fd81\javax.activation-1.1.0.v201105071233.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.mail.glassfish\1.4.1.v201005082020\orbit\b707c39fc080529c4a9ffc1df4eac58421133aaf\javax.mail.glassfish-1.4.1.v201005082020.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-jndi\8.1.5.v20120716\jar\f0c40a2e62bf4b78a8c3a34cd8c0a8250b8321c0\jetty-jndi-8.1.5.v20120716.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.transaction\1.1.1.v201105210645\orbit\68e61aa115bbff4e1e2ae4b16feb27d9f805eb6\javax.transaction-1.1.1.v201105210645.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-plus\8.1.5.v20120716\jar\d901ed553709d53b2fa72ade6a06f8bef82f29f5\jetty-plus-8.1.5.v20120716.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\javax.annotation\1.1.0.v201108011116\orbit\964b4bd5e4f40d6497fd302e2e66c4a4257138b3\javax.annotation-1.1.0.v201108011116.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\org.objectweb.asm\3.1.0.v200803061910\orbit\bf952ae43613f460f11ce5f8727cc9e4a7f8d33d\org.objectweb.asm-3.1.0.v200803061910.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty\jetty-annotations\8.1.5.v20120716\jar\aee87dde17b6d6fe18a3bab3f3fc4ae40356ae94\jetty-annotations-8.1.5.v20120716.jar;C:\Users\mknuts6173c\.gradle\caches\artifacts-14\filestore\org.eclipse.jetty.orbit\org.apache.taglibs.standard.glassfish\1.2.0.v201112081803\orbit\2c4baa72af1d3aae3a1e029d4f8ca07498dabbe0\org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar org.eclipse.jetty.server.Server …Run Code Online (Sandbox Code Playgroud) 我没有使用Spring Boot,但是我希望能够使用YAML打开/关闭调试,例如:
debug: true
Run Code Online (Sandbox Code Playgroud)
代替:
@EnableWebSecurity(debug = true)
Run Code Online (Sandbox Code Playgroud) 当CPU处于5%到8%的负载时,有什么条件会阻止JVM运行FULL Garbage Collection?
我看到一个持续浅的GC循环,但无法调整JVM以运行FULL GC.
我在哪里可以找到JVM说"我忙得跑"的条件.
我想知道是否可以创建一个Annotation强制执行特定返回类型的操作?
我想要的是一种创建Annotation和使用它的方法:
@MarkerAnnotationForcingStringReturnType
public String someWebflowMethod(...){
...
return "someString";
}
Run Code Online (Sandbox Code Playgroud)
然后我可以拥有我想要的任何方法名称,但它必须返回,String例如.