升级到JDK 8后,jetty 9不再能够扫描spring注释:我收到以下错误:
MultiException[java.lang.RuntimeException: Error scanning file ApplicationInitializer.class, java.lang.RuntimeException: Error scanning file HibernateConfig.class, java.lang.RuntimeException: Error scanning file MailConfig.class, java.lang.RuntimeException: Error scanning file ServicesConfig.class, java.lang.RuntimeException: Error scanning file WebAppConfig.class]
at org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:530)
at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:441)
at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:466)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:745)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:282)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:117)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:99)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:154)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
Run Code Online (Sandbox Code Playgroud)
当我使用jdk 7时工作正常.
它试图扫描的注释是spring framework 4注释,例如:
@Configuration
@EnableWebMvc
@ComponentScan("com.cityrentals.rentahouse")
@Import({ HibernateConfig.class, ServicesConfig.class, MailConfig.class })
public class WebAppConfig extends WebMvcConfigurerAdapter {
Run Code Online (Sandbox Code Playgroud)
无论javaassist依赖性是否存在,都会发生错误
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.1-GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
任何帮助深表感谢 …
您好,我正在使用以下版本的 logback 和 Janino :
<dependency org="ch.qos.logback" name="logback-core" rev="1.0.11" conf="runtime"/>
<dependency org="ch.qos.logback" name="logback-classic" rev="1.0.11" conf="runtime"/>
<dependency org="org.codehaus.janino" name="janino" rev="2.6.1" conf="runtime"/>
Run Code Online (Sandbox Code Playgroud)
使用条件记录配置<if>是:
<root level="INFO">
<if condition='property("xxx").contains("dev")'>
<then>
<appender-ref ref="dev" />
</then>
</if>
</root>
Run Code Online (Sandbox Code Playgroud)
我看到的错误如下:
7:38:54,729 |-ch.qos.logback.classic.joran.action.RootLoggerAction 中的 INFO - 将 ROOT 记录器级别设置为 INFO 无法实例化 [ch.qos.logback.classic.LoggerContext] 报告异常:java.lang .NoSuchMethodError: org.codehaus.janino.ClassBodyEvaluator.setImplementedInterfaces([Ljava/lang/Class;)V 位于 ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder.build(PropertyEvalScriptBuilder.java:48) 位于 ch.qos。 logback.core.joran.conditional.IfAction.begin(IfAction.java:67) 位于 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276) 位于 ch.qos.logback.core。 joran.spi.Interpreter.startElement(Interpreter.java:148) 位于 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130) 位于 ch.qos.logback.core.joran.spi。 EventPlayer.play(EventPlayer.java:50) 位于 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:157) 位于 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java: 143) 在 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:106) 在 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:56) 在 ch.qos.logback .classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75) 在 ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148) 在 org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java …
我已经使用./wso2server.sh启动了WSO2 ESB服务器,但是没有停止服务器的脚本?
有人可以告诉命令停止服务器吗?
谢谢苏雷什
最近,我尝试了Log4j 2日志记录,并尝试将其性能与我本地Mac机器上的Logback进行比较.令人惊讶的是,我看到Logback在我的测试用例中表现更好.我希望Log4j 2比Log4j 2网站声称的Logback做得更好,所以我想检查一下我在使用Log4j 2时是否做错了.
为了测试,我使用了直接Log4j 2和Logback 而不使用SLF4J.此外,它ConsoleAppender用于两个日志框架,我测试的模式是:
<Pattern>%d{YYYY-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</Pattern>
Run Code Online (Sandbox Code Playgroud)
日志测试代码是:
logger.info("This is a bootstrap message");
long start = System.currentTimeMillis();
for (int i = 1; i <= 1000000; i++) {
logger.info("Order={} successfully processed", "ABC123");
}
long end = System.currentTimeMillis();
logger.info("time taken to process={} ms", end - start);
Run Code Online (Sandbox Code Playgroud)
我为每个日志记录分别运行了10次测试,并尝试将平均时间用于处理.出乎意料的是,每次运行都会更好地执行logback.我尝试使用params禁用Log4j 2附带的默认GC日志记录:
-Dlog4j2.enable.threadlocals=false -Dlog4j2.enable.direct.encoders=false
Run Code Online (Sandbox Code Playgroud)
但我仍然没有看到有关logback的任何改进.任何人都可以确认我做的是否正确?
log4j 2配置:
<Configuration status="INFO" debug="false">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders> …Run Code Online (Sandbox Code Playgroud)