小编Sur*_*Man的帖子

jetty 9 + JDK 8 + spring 4 Annotations

升级到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)

任何帮助深表感谢 …

spring-annotations java-8 jetty-9 spring-4

9
推荐指数
1
解决办法
6631
查看次数

Logback + Janino + Resin 出现 java.lang.NoSuchMethodError 问题

您好,我正在使用以下版本的 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 …

logging resin logback slf4j janino

2
推荐指数
1
解决办法
7087
查看次数

如何停止WSO2 ESB 4.0.3

我已经使用./wso2server.sh启动了WSO2 ESB服务器,但是没有停止服务器的脚本?

有人可以告诉命令停止服务器吗?

谢谢苏雷什

java linux wso2 wso2esb

1
推荐指数
1
解决办法
4900
查看次数

Log4j 2性能:单线程控制台在Logback中的记录速度比Log4j 2快吗?

最近,我尝试了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)

java logging log4j logback log4j2

1
推荐指数
1
解决办法
1504
查看次数