WARN [ErraiMarshalling]使用动态编组器

时间:2014-02-23 13:32:44

标签: java gwt errai

我正在试图弄清楚为什么这个警告会出现,因为我的Errai应用程序在GWT开发模式下加载:

  

[INFO] WARN [ErraiMarshalling]找不到marshaller类。   [INFO] WARN [ErraiMarshalling]使用动态marshallers。动态   marshallers专为开发模式测试而设计,理想情况下   不应该用于生产。 *

我试图把:

<extraJvmArgs>-Xmx1500m -XX:MaxPermSize=1000m -XX:-UseSplitVerifier -Derrai.marshalling.server.classOutput=${project.build.outputDirectory}</extraJvmArgs>

和这个

<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>

2 个答案:

答案 0 :(得分:1)

ErraiApp.properties中,添加以下配置:

errai.marshalling.use_static_marshallers=true

更多关于https://docs.jboss.org/author/display/ERRAI/ErraiApp.properties

答案 1 :(得分:0)

显示此警告消息,因为MappingContextSingleton.java具有类似

的方法
  private static void dynamicMarshallingWarning() {
    log.warn("using dynamic marshallers. dynamic marshallers are designed" +
        " for development mode testing, and ideally should not be used in production. *");
  }

从loadDynamicMarshallers方法调用

public static ServerMappingContext loadDynamicMarshallers() {
    dynamicMarshallingWarning();

我在三种情况下显示此错误消息,如

案例1

  if (cls == null) {
      return loadDynamicMarshallers();
    }

案例2

if (!MarshallingGenUtil.isUseStaticMarshallers()) {
        sContext = loadDynamicMarshallers();
      }

案例3

catch (Throwable t) {
          log.debug("failed to load static marshallers", t);
          log.warn("static marshallers were not found.");

          sContext = loadDynamicMarshallers();
        }

这不是你的问题的答案,但它可能对你有帮助。