阅读 174

Jvm加载jar包的顺序不同,引发同样代码不同的返回结果

参考资料

使用-XX:+TraceClassPaths或者在服务器上执行jinfo时,都能得到classpath包含的jar包,例如:

java.class.path = local/aaa/lib/spring-data-redis-1.8.3.RELEASE.jar:/usr/local/aaa/lib/spring-tx-4.3.8.RELEASE.jar:/usr/local/aaa/lib/spring-jdbc-4.3.7.RELEASE.jar:/usr/local/aaa/lib/classmate-1.3.1.jar:/usr/local/aaa/lib/javax.servlet-api-3.1.0.jar:/usr/local/aaa/lib/mongodb-driver-3.4.2.jar:/usr/local/aaa/lib/xml-apis-2.0.2.jar:/usr/local/aaa/lib/ufc-api-utils-2.0.0.jar:/usr/local/aaa/lib/log4j-over-slf4j-1.7.25.jar:/usr/local/aaa/lib/tomcat-embed-websocket-8.5.14.jar:...复制代码

   这些jar的顺序不同的机器总是不一样的,平时没有问题,所以也没有细想过,这些jar包的顺序为什么会不一样的。    在之前排查的一个问题 的结尾还留了一个问题,为什么有的机器会加载正确的类,有的就是错的。因为这一段在上线一个项目,灰度公测阶段,所以拖了些天,穿插着看了看加载相关的一些hotspot代码,以前也没看过,就边猜测边看了。因为是穿插着看,怕今天看的明天就忘了,所以后面一部分流水账记录了我看的过程。

   总之,经过一番查代码,最终在rt.jar中找到了JarFile这个类,代码在jdk的src.zip包里的。    用 github.com/saaavsaaa/w… 脚本跟踪了一下:


   正常的服务器脚本的输出:

图片


   异常的服务器上脚本输出:

图片


   这个问题在多台服务器上都出现了,所以搜集多台的输出后可以确认这个规律,其实在下面代码的记录中也可以看出,如果有多个同名的类只会加载其中第一个。在不出问题的服务器上commons-codec-1.10.jar是在http-1.1.0.jar之前加载的,而出问题的服务器正好相反。


   /usr/lib/jvm/java-8-oracle/jre/lib/rt.jar!/sun/misc/URLClassPath.class中的private ArrayList path有所有加载的jar的URL。这个类里还有每个jar的loader:ArrayList loaders,jar路径和jarLoader的映射:HashMap<String, URLClassPath.Loader> lmap。lmap通过private synchronized URLClassPath.Loader getLoader(int var1)方法从Stack urls中弹出的jar来构造loader并加入映射的。有两个URLClassLoader加载不同的URLClassPath实例,一个只有jre/lib下的几个jar,一个有所有的。不过这都不重要,这些jar都是从classpath加载的。于是我在几个服务器上用jinfo输出了java.class.path,并对比了一下发现正常服务器和服务器中,这两个jar的顺序果然是不一样的。那么我估计问题是出现jvm对java.class.path赋值的前面了,或许是操作系统什么的。

   于是决定看看java.class.path初始化的情况,代码在/home/aaa/Github/hotspot/src/share/vm/runtime/arguments.cpp:_java_class_path = new SystemProperty(“java.class.path”, “”, true)。SystemProperty的构造在/home/aaa/Github/hotspot/src/share/vm/runtime/arguments.hpp:


 // Constructor
 SystemProperty(const char* key, const char* value, bool writeable) {
   if (key == NULL) {
     _key = NULL;
   } else {
     _key = AllocateHeap(strlen(key)+1, mtInternal);
     strcpy(_key, key);
   }
   if (value == NULL) {
     _value = NULL;
   } else {
     _value = AllocateHeap(strlen(value)+1, mtInternal);
     ba(_value, value);
   }
   _next = NULL;
   _writeable = writeable;
 }
}; -----复制代码

   构造里似乎没什么关系,然后回到cpp仔细看了下,发现:

    // following are JVMTI agent writeable properties.
    // Properties values are set to NULL and they are
    // os specific they are initialized in os::init_system_properties_values().
     
    // Set OS specific system properties values
    os::init_system_properties_values();复制代码

   这个方法的定义在os.hpp中,不过实现是不同的系统不一样,所以并没有在对应的cpp中,我是linux系统,所以我去找了 /home/aaa/Github/hotspot/src/os/linux/vm/os_linux.cpp,不过也没有我想要的。arguments.cpp中只找到了对endorsed,ext,bootclasspath的目录文件读取。


   然后找到了-XX:+TraceClassPaths参数的输出位置:    [classpath: …]的调用链:

/home/aaa/Github/hotspot/src/share/vm/runtime/thread.cpp:
// Parse arguments
jint parse_result = Arguments::parse(args); ```markdown
 // Parse JAVA_TOOL_OPTIONS environment variable (if present)
 jint result = parse_java_tool_options_environment_variable(&scp, &scp_assembly_required);
 if (result != JNI_OK) {
   return result;
 }

 // Parse JavaVMInitArgs structure passed in
 result = parse_each_vm_init_arg(args, &scp, &scp_assembly_required, Flag::COMMAND_LINE);
 if (result != JNI_OK) {
   return result;
 }

 // Parse _JAVA_OPTIONS environment variable (if present) (mimics classic VM)
 result = parse_java_options_environment_variable(&scp, &scp_assembly_required);
 if (result != JNI_OK) {
   return result;
 }  ```      parse_java_tool_options_environment_variable和parse_java_options_environment_variable都有调用parse_each_vm_init_arg,这里提一句_JAVA_OPTIONS会覆盖JAVA_TOOL_OPTIONS的同key配置。复制代码

    parse_each_vm_init_arg这方法一进来就看到这么一段略坑,不过也无所谓了响。。。

    if (!match_option(option, "-Djava.class.path", &tail) &&
        !match_option(option, "-Dsun.java.command", &tail) &&
        !match_option(option, "-Dsun.java.launcher", &tail)) {

        // add all jvm options to the jvm_args string. This string
        // is used later to set the java.vm.args PerfData string constant.
        // the -Djava.class.path and the -Dsun.java.command options are
        // omitted from jvm_args string as each have their own PerfData
        // string constant object.
        build_jvm_args(option->optionString);
    }复制代码

  这就是打印上面那句的地方:  

     jint Arguments::parse_each_vm_init_arg
     Arguments::fix_appclasspath():
       if (!PrintSharedArchiveAndExit) {
         ClassLoader::trace_class_path(tty, "[classpath: ", _java_class_path->value());
       }复制代码

   然后[Bootstrap loader class path=/usr/lib/jvm/java-8-oracle/jre/lib/resources.jar:/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jsse.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jce.jar:/usr/lib/jvm/java-8-oracle/jre/lib/charsets.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jfr.jar:/usr/lib/jvm/java-8-oracle/jre/classes]这一句输出:

    /home/aaa/Github/hotspot/src/share/vm/runtime/init.cpp
    jint init_globals()

    /home/aaa/Github/hotspot/src/share/vm/classfile/classLoader.cpp
    void classLoader_init() {
      ClassLoader::initialize();
    }

    void ClassLoader::initialize()

    void ClassLoader::setup_bootstrap_search_path()复制代码

   大体上代码都在这一部分了,可以看出代码中并没有对加载顺序有所改变,然后比较重要的线索就是加载方法用的是opendir和readdir函数,在ios同事的协助下,终于确定了,问题就是jar的加载顺序问题,而这个顺序实际上是由文件系统决定的,linux内部是用inode来指示文件的。

   于是写了个简单的c方法来验证,打印inode号:github.com/saaavsaaa/w…

  d_off:4066763678044974396 d_name: commons-codec-1.10.jar
  d_off:4317940688349827723 d_name: commons-lang-2.5.jar
  d_off:4319988583919237504 d_name: jul-to-slf4j-1.7.25.jar
  d_off:4356646752930279233 d_name: spring-aop-4.3.8.RELEASE.jar
  d_off:4579877846802590742 d_name: tomcat-embed-core-8.5.14.jar
  d_off:4731608207059974753 d_name: groovy-2.4.3.jar
  d_off:4771541818858258978 d_name: jpush-client-3.2.9.jar
  d_off:4817159055427520488 d_name: httpcore-4.3.jar
  d_off:5037058976412869958 d_name: rocketmq-common-3.2.6.jar
  d_off:5112026581585883935 d_name: xmlParserAPIs-2.6.2.jar
  d_off:5223887631628650300 d_name: commons-fileupload-1.2.2.jar
  d_off:5270962929984509613 d_name: logback-core-1.1.11.jar
  d_off:5295594039709144434 d_name: jackson-core-2.8.8.jar
  d_off:5313324231349868064 d_name: .
  d_off:5369671282559728007 d_name: spring-webmvc-4.3.8.RELEASE.jar
  d_off:5480616600783493234 d_name: xalan-2.6.0.jar
  d_off:5598132018198955916 d_name: unbescape-1.1.0.RELEASE.jar
  d_off:5620136379821311472 d_name: spring-boot-starter-aop-1.5.3.RELEASE.jar
  d_off:5639942392021544761 d_name: mybatis-3.4.4.jar
  d_off:5688537857783605585 d_name: validation-api-1.1.0.Final.jar
  d_off:5689351964973998306 d_name: json-lib-2.4-jdk15.jar
  d_off:5708471019688158398 d_name: tagsoup-0.9.7.jar
  d_off:5716046632217600256 d_name: xom-1.0b3.jar
  d_off:5736731302988875630 d_name: p2p-repository-1.0-SNAPSHOT.jar
  d_off:5770969695350360533 d_name: ognl-3.0.8.jar
  d_off:5946256519116188501 d_name: jackson-annotations-2.8.0.jar
  d_off:6011005565981751131 d_name: jxl-2.6.jar
  d_off:6121401373763401899 d_name: spring-data-mongodb-1.10.3.RELEASE.jar
  d_off:6155887434083949861 d_name: icu4j-2.6.1.jar
  d_off:6203694621577639938 d_name: jboss-logging-3.3.0.Final.jar
  d_off:6241670413890043636 d_name: jaxme-api-0.3.jar
  d_off:6317802240634228683 d_name: thymeleaf-2.1.5.RELEASE.jar
  d_off:6362118033392674189 d_name: logback-classic-1.1.11.jar
  d_off:6391821784225315730 d_name: snakeyaml-1.17.jar
  d_off:6447926989912518869 d_name: javassist-3.16.1-GA.jar
  d_off:6586996539318953387 d_name: spring-boot-1.5.3.RELEASE.jar
  d_off:6682174700565688505 d_name: mybatis-spring-1.3.1.jar
  d_off:6858079168157560275 d_name: http-1.1.0.jar复制代码

   对照前面正常服务器的截图可以发现,顺序和这是一样的。而出错的服务器:

  d_off:7500897893766328572 d_name: http-1.1.0.jar
  d_off:7630237192571233449 d_name: jaxen-1.1-beta-4.jar
  d_off:7846439931967980783 d_name: xom-1.0b3.jar
  d_off:7986273690820996399 d_name: jxl-2.6.jar
  d_off:8013065173263952359 d_name: spring-boot-starter-thymeleaf-1.5.3.RELEASE.jar
  d_off:8231450206996036007 d_name: spring-context-support-4.3.8.RELEASE.jar
  d_off:8471297127500795042 d_name: jpush-client-3.2.9.jar
  d_off:8635726305307688944 d_name: commons-codec-1.10.jar复制代码

    同样可以对照上面错误服务器的截图,而且一般情况下,修改了文件名,再改回来,或者从新上传一个,这个编号依然还是这个,所以在出问题的服务器上问题稳定复现。那么,这个问题终于是可以告一段落了,原因搞清楚了,心理就有底了。解决什么的就随便了,我就随便把名字改成zzzhttp然后问题就在两个包都存在的情况下解决了。

  d_off:8635726305307688944 d_name: commons-codec-1.10.jar
  d_off:8710228832141418589 d_name: xercesImpl-2.6.2.jar
  d_off:8722513994996448409 d_name: android-json-0.0.20131108.vaadin1.jar
  d_off:8754081964290049159 d_name: ufc-api-utils-2.0.0.jar
  d_off:8830796801498266528 d_name: httpcore-4.3.jar
  d_off:8854152647200610772 d_name: tomcat-jdbc-8.5.11.jar
  d_off:8971846312288780129 d_name: spring-tx-4.3.8.RELEASE.jar
  d_off:8986236906371055996 d_name: bcprov-jdk15-1.45.jar
  d_off:8988385379950226997 d_name: mysql-connector-java-5.1.30.jar
  d_off:8994464230154278010 d_name: p2p-common-1.0-SNAPSHOT.jar
  d_off:9012703293696799571 d_name: mybatis-spring-boot-starter-1.3.0.jar
  d_off:9057592519440006836 d_name: zzzhttp-1.1.0.jar复制代码

   下面是找线索的时候胡乱看的一些代码的记录,从启动部分开始找加载: 可以确定的是跟-classpath中jar的加载顺序有关系 ackson序列化输出不一致

问题现象:Jackson序列化输出不一致

同样的代码,同样的环境,部署之后在线上表现结果不一致

一版镜像,hashTag:“7051d711”

原因分析

202.223和203.79的ps -ef查看的启动脚本分别为

app         141      1 93 20:31 ?        00:01:38 java -Xmx1024m -Xms1024m -XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M -verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseG1GC -Xloggc:/data/deploy/stock-privilege/logs/gclogs/gc.log.20211101_203134 -Dlog.home=/data/deploy/stock-privilege/logs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -classpath /data/deploy/stock-privilege/conf/sep::/data/deploy/stock-privilege/lib/org.springframework.spring-webmvc-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/commons-pool.commons-pool-1.6.jar:/data/deploy/stock-privilege/lib/com.twitter.common.zookeeper.group-0.0.87.jar:/data/deploy/stock-privilege/lib/javax.inject.javax.inject-1.jar:/data/deploy/stock-privilege/lib/javax.annotation.javax.annotation-api-1.3.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.usercenter-common_2.10-1.6.96.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-aspects-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/jline.jline-0.9.94.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-collections4-4.1.jar:/data/deploy/stock-privilege/lib/org.scala-lang.scala-reflect-2.12.4.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stats-0.0.112.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-rpc-common-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-text-1.3.jar:/data/deploy/stock-privilege/lib/com.xueqiu.finagle.finagle-helpers_2.10-1.1.1.jar:/data/deploy/stock-privilege/lib/org.scala-lang.scala-compiler-2.10.5.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xutil-1.0.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-framework-2.13.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowpay.snowpay-common-2.1.10.jar:/data/deploy/stock-privilege/lib/org.springframework.security.spring-security-crypto-5.0.7.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stat-registry-0.0.53.jar:/data/deploy/stock-privilege/lib/com.twitter.util-zk-common_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.typesafe.scala-logging.scala-logging-slf4j_2.10-2.1.2.jar:/data/deploy/stock-privilege/lib/org.apache.kafka.kafka-clients-1.0.2.jar:/data/deploy/stock-privilege/lib/commons-collections.commons-collections-3.2.1.jar:/data/deploy/stock-privilege/lib/io.netty.netty-3.10.1.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.util-jvm_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.twitter.util-hashing_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.google.guava.guava-20.0.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.datatype.jackson-datatype-jsr310-2.9.10.jar:/data/deploy/stock-privilege/lib/org.apache.tomcat.embed.tomcat-embed-websocket-9.0.30.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-jvm-4.0.7.jar:/data/deploy/stock-privilege/lib/com.google.code.gson.gson-2.8.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.antispam-filter-client-1.0.2.jar:/data/deploy/stock-privilege/lib/dom4j.dom4j-1.6.1.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.runtime-impl_2.10-0.8.jar:/data/deploy/stock-privilege/lib/com.twitter.common.args-0.2.35.jar:/data/deploy/stock-privilege/lib/org.slf4j.slf4j-api-1.7.12.jar:/data/deploy/stock-privilege/lib/com.typesafe.scalalogging-slf4j_2.10-1.1.0.jar:/data/deploy/stock-privilege/lib/javax.persistence.javax.persistence-api-2.2.jar:/data/deploy/stock-privilege/lib/commons-beanutils.commons-beanutils-1.9.2.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-healthchecks-3.1.2.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-stub-1.24.2.jar:/data/deploy/stock-privilege/lib/com.google.api.grpc.proto-google-common-protos-1.12.0.jar:/data/deploy/stock-privilege/lib/stax.stax-api-1.0.1.jar:/data/deploy/stock-privilege/lib/org.apache.ant.ant-1.9.6.jar:/data/deploy/stock-privilege/lib/mysql.mysql-connector-java-5.1.36.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-json-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.tomcat.embed.tomcat-embed-core-9.0.30.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-core-4.0.7.jar:/data/deploy/stock-privilege/lib/com.htsec.htsec-ext-0.0.2.jar:/data/deploy/stock-privilege/lib/com.yammer.metrics.metrics-core-2.2.0.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-client-2.13.0.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-jcl-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/io.prometheus.simpleclient_common-0.8.0.jar:/data/deploy/stock-privilege/lib/com.alibaba.druid-1.1.9.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-jmx-4.0.7.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-aop-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.util-core_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-lang3-3.5.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.status-thrift-3.0.5.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xdc.cluster.xdc-cluster-1.2.jar:/data/deploy/stock-privilege/lib/com.sun.istack.istack-commons-runtime-3.0.7.jar:/data/deploy/stock-privilege/lib/org.apache.poi.poi-3.17.jar:/data/deploy/stock-privilege/lib/cglib.cglib-3.2.4.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.toolbox.xueqiu-toolbox-core-0.0.50.jar:/data/deploy/stock-privilege/lib/commons-configuration.commons-configuration-1.8.jar:/data/deploy/stock-privilege/lib/com.twitter.common.args-apt-0.1.33.jar:/data/deploy/stock-privilege/lib/com.twitter.jsr166e-1.0.0.jar:/data/deploy/stock-privilege/lib/org.jsoup.jsoup-1.10.2.jar:/data/deploy/stock-privilege/lib/com.opencsv.opencsv-4.6.jar:/data/deploy/stock-privilege/lib/org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-actuator-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-services-1.24.2.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-pool2-2.3.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.core.jackson-annotations-2.9.4.jar:/data/deploy/stock-privilege/lib/org.glassfish.jaxb.jaxb-runtime-2.3.1.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-tx-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-afterburner-2.6.1.jar:/data/deploy/stock-privilege/lib/com.twitter.common.util-system-mocks-0.0.101.jar:/data/deploy/stock-privilege/lib/org.hdrhistogram.HdrHistogram-2.1.9.jar:/data/deploy/stock-privilege/lib/com.101tec.zkclient-0.3.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-actuator-autoconfigure-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.eventcenter-2.0.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.core.jackson-core-2.9.4.jar:/data/deploy/stock-privilege/lib/com.google.errorprone.error_prone_annotations-2.3.3.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.datatype.jackson-datatype-jdk8-2.9.10.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xconfig-2.10.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.spring.xueqiu-spring-grpc-common-0.4.19.jar:/data/deploy/stock-privilege/lib/io.netty.netty-resolver-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-ostrich4_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.thoughtworks.paranamer.paranamer-2.8.jar:/data/deploy/stock-privilege/lib/com.twitter.util-collection_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/org.springframework.cloud.spring-cloud-zookeeper-discovery-2.0.0.RELEASE.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-core-1.24.2.jar:/data/deploy/stock-privilege/lib/org.bouncycastle.bcprov-jdk15on-1.52.jar:/data/deploy/stock-privilege/lib/net.bytebuddy.byte-buddy-1.9.11.jar:/data/deploy/stock-privilege/lib/io.netty.netty-handler-proxy-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-context-support-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/javax.activation.javax.activation-api-1.2.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.toolbox.xueqiu-toolbox-config-0.0.7.jar:/data/deploy/stock-privilege/lib/com.carrotsearch.java-sizeof-0.0.4.jar:/data/deploy/stock-privilege/lib/org.apache.zookeeper.zookeeper-3.4.6.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.antispam-filter-common-1.0.2.jar:/data/deploy/stock-privilege/lib/com.ctrip.framework.apollo.apollo-client-1.4.0.jar:/data/deploy/stock-privilege/lib/com.ryantenney.metrics.metrics-spring-3.1.3.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stats-provider-0.0.88.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-common-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/org.apache.kafka.kafka_2.10-0.8.2.1.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-orm-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/io.swagger.swagger-annotations-1.5.6.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-socks-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-schema-2.4.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-rpc-server_2.10-2.1.8.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.spring.xueqiu-spring-grpc-server-0.4.19.jar:/data/deploy/stock-privilege/lib/com.typesafe.scala-logging.scala-logging-api_2.10-2.1.2.jar:/data/deploy/stock-privilege/lib/io.netty.netty-buffer-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.typesafe.config-1.3.0.jar:/data/deploy/stock-privilege/lib/org.glassfish.jaxb.txw2-2.3.1.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-tomcat-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.slf4j.jcl-over-slf4j-1.7.12.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-core-2.4.0.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.core.jackson-databind-2.9.4.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowball.snowball-common-5.0.1.jar:/data/deploy/stock-privilege/lib/org.apache.logging.log4j.log4j-api-2.11.2.jar:/data/deploy/stock-privilege/lib/org.dom4j.dom4j-2.1.1.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowx.snowx-commons-1.0.0.118.jar:/data/deploy/stock-privilege/lib/org.slf4j.jul-to-slf4j-1.7.12.jar:/data/deploy/stock-privilege/lib/io.prometheus.simpleclient_dropwizard-0.8.0.jar:/data/deploy/stock-privilege/lib/xml-apis.xml-apis-1.0.b2.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-web-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.toolbox.xueqiu-toolbox-metrics-0.0.50.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-http_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-api-1.24.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-core-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/org.xerial.snappy.snappy-java-1.1.4.jar:/data/deploy/stock-privilege/lib/com.google.inject.guice-4.1.0.jar:/data/deploy/stock-privilege/lib/javax.validation.validation-api-2.0.1.Final.jar:/data/deploy/stock-privilege/lib/org.yaml.snakeyaml-1.23.jar:/data/deploy/stock-privilege/lib/com.twitter.common.jdk-logging-0.0.76.jar:/data/deploy/stock-privilege/lib/com.twitter.common.application-action-0.0.87.jar:/data/deploy/stock-privilege/lib/org.apache.thrift.libthrift-0.5.0.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-http2-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.google.protobuf.protobuf-java-util-3.9.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xdc.cluster.xdc-cluster-kafka-2.2.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-core-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/commons-io.commons-io-2.4.jar:/data/deploy/stock-privilege/lib/com.alibaba.easyexcel-2.2.3.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-expression-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/commons-dbutils.commons-dbutils-1.6.jar:/data/deploy/stock-privilege/lib/org.apache.poi.poi-ooxml-schemas-3.17.jar:/data/deploy/stock-privilege/lib/com.google.code.findbugs.jsr305-1.3.9.jar:/data/deploy/stock-privilege/lib/com.twitter.util-function_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-logger-impls-0.0.43-extra.jar:/data/deploy/stock-privilege/lib/com.twitter.common.zookeeper.server-set-1.0.103.jar:/data/deploy/stock-privilege/lib/io.prometheus.simpleclient-0.8.0.jar:/data/deploy/stock-privilege/lib/org.aspectj.aspectjrt-1.8.4.jar:/data/deploy/stock-privilege/lib/org.ow2.asm.asm-5.1.jar:/data/deploy/stock-privilege/lib/com.twitter.common.collections-0.0.106.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xqlogger.xrealtime-logger-client-3.0.1.jar:/data/deploy/stock-privilege/lib/com.squareup.okhttp3.logging-interceptor-3.2.0.jar:/data/deploy/stock-privilege/lib/com.ctrip.framework.apollo.apollo-core-1.4.0.jar:/data/deploy/stock-privilege/lib/org.aspectj.aspectjweaver-1.8.4.jar:/data/deploy/stock-privilege/lib/com.squareup.okhttp3.okhttp-apache-3.2.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.jedis_2.10-2.7.2.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-jdbc-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.logging.log4j.log4j-to-slf4j-2.11.2.jar:/data/deploy/stock-privilege/lib/net.sf.ezmorph.ezmorph-1.0.6.jar:/data/deploy/stock-privilege/lib/io.micrometer.micrometer-core-1.1.9.jar:/data/deploy/stock-privilege/lib/org.codehaus.jackson.jackson-core-asl-1.9.13.jar:/data/deploy/stock-privilege/lib/com.sun.xml.fastinfoset.FastInfoset-1.2.15.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-rpc-common_2.10-2.1.8.jar:/data/deploy/stock-privilege/lib/io.netty.netty-handler-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/org.lz4.lz4-java-1.4.jar:/data/deploy/stock-privilege/lib/com.fasterxml.classmate-1.3.4.jar:/data/deploy/stock-privilege/lib/javax.xml.bind.jaxb-api-2.3.1.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-core_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-annotation-3.1.2.jar:/data/deploy/stock-privilege/lib/com.belerweb.pinyin4j-2.5.1.jar:/data/deploy/stock-privilege/lib/org.jboss.jandex-2.0.5.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.ostrich_2.10-9.9.0.jar:/data/deploy/stock-privilege/lib/org.latencyutils.LatencyUtils-2.0.3.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-context-1.24.2.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-logging-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.poi.poi-ooxml-3.17.jar:/data/deploy/stock-privilege/lib/com.twitter.common.zookeeper.client-0.0.76.jar:/data/deploy/stock-privilege/lib/commons-cli.commons-cli-1.2.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stat-0.0.68.jar:/data/deploy/stock-privilege/lib/com.twitter.common.service-thrift-1.0.54.jar:/data/deploy/stock-privilege/lib/com.twitter.util-zk_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stats-util-0.0.57.jar:/data/deploy/stock-privilege/lib/commons-net.commons-net-3.6.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-actuator-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-thrift_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.twitter.scala-json_2.10-3.0.2.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-web-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.github.virtuald.curvesapi-1.04.jar:/data/deploy/stock-privilege/lib/org.springframework.plugin.spring-plugin-metadata-1.2.0.RELEASE.jar:/data/deploy/stock-privilege/lib/com.google.code.findbugs.annotations-2.0.0.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-spi-2.4.0.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-test_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/org.codehaus.mojo.animal-sniffer-annotations-1.17.jar:/data/deploy/stock-privilege/lib/antlr.antlr-2.7.7.jar:/data/deploy/stock-privilege/lib/com.ovea.ovea-crypto-1.5.ga.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-swagger-common-2.4.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-data-jpa-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.projectlombok.lombok-1.16.14.jar:/data/deploy/stock-privilege/lib/org.apache.ant.ant-launcher-1.9.6.jar:/data/deploy/stock-privilege/lib/com.twitter.common.quantity-0.0.97.jar:/data/deploy/stock-privilege/lib/org.springframework.cloud.spring-cloud-commons-2.0.1.RELEASE.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-swagger2-2.4.0.jar:/data/deploy/stock-privilege/lib/org.ehcache.ehcache-3.4.0.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-stats_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.rediscluster_2.10-2.4.10.jar:/data/deploy/stock-privilege/lib/org.apache.httpcomponents.httpcore-4.4.1.jar:/data/deploy/stock-privilege/lib/net.sf.jopt-simple.jopt-simple-3.2.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-serversets_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-httpx_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/org.scala-lang.scala-library-2.10.5.jar:/data/deploy/stock-privilege/lib/com.rabbitmq.amqp-client-3.6.1.jar:/data/deploy/stock-privilege/lib/com.twitter.util-stats_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/commons-codec.commons-codec-1.9.jar:/data/deploy/stock-privilege/lib/ch.qos.logback.logback-core-1.1.3.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-spring-web-2.4.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.status-common-3.0.5.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.status-client-3.0.5.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/io.perfmark.perfmark-api-0.19.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.runtime-api_2.10-0.8.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.jedis-aspects_2.10-2.7.2.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-recipes-2.13.0.jar:/data/deploy/stock-privilege/lib/com.google.android.annotations-4.1.1.4.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-parameter-names-2.9.10.jar:/data/deploy/stock-privilege/lib/net.sf.json-lib.json-lib-2.4-jdk15.jar:/data/deploy/stock-privilege/lib/com.google.protobuf.protobuf-java-3.9.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-autoconfigure-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/io.swagger.swagger-models-1.5.6.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowpay.snowpay-client-2.1.10.jar:/data/deploy/stock-privilege/lib/com.twitter.common.util-0.0.118.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-jdbc-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.usercenter-client_2.10-1.6.96.jar:/data/deploy/stock-privilege/lib/com.twitter.common.io-json-0.0.51.jar:/data/deploy/stock-privilege/lib/berkeleydb.je-3.2.76.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-configuration-processor-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/io.netty.netty-common-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.squareup.okio.okio-1.17.2.jar:/data/deploy/stock-privilege/lib/com.zaxxer.HikariCP-3.2.0.jar:/data/deploy/stock-privilege/lib/com.twitter.util-app_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.netflix.archaius.archaius-core-0.6.5.jar:/data/deploy/stock-privilege/lib/com.twitter.util-eval_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.twitter.common.io-0.0.65.jar:/data/deploy/stock-privilege/lib/ch.qos.logback.logback-classic-1.1.3.jar:/data/deploy/stock-privilege/lib/com.twitter.common.metrics-0.0.36.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-protobuf-1.24.2.jar:/data/deploy/stock-privilege/lib/com.twitter.util-codec_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/ma.glasnost.orika.orika-core-1.4.6.jar:/data/deploy/stock-privilege/lib/org.hibernate.hibernate-core-5.3.15.Final.jar:/data/deploy/stock-privilege/lib/commons-lang.commons-lang-2.5.jar:/data/deploy/stock-privilege/lib/org.hibernate.validator.hibernate-validator-6.0.18.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.common.io-thrift-0.0.64.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-beans-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/org.slf4j.log4j-over-slf4j-1.7.12.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.quote-open-1.0.jar:/data/deploy/stock-privilege/lib/io.netty.netty-transport-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/io.opencensus.opencensus-contrib-grpc-metrics-0.21.0.jar:/data/deploy/stock-privilege/lib/org.bitbucket.b_c.jose4j-0.7.6.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-protobuf-lite-1.24.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xqlogger.xrealtime-logger-common-3.0.1.jar:/data/deploy/stock-privilege/lib/com.twitter.util-events_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.alibaba.fastjson-1.2.56.jar:/data/deploy/stock-privilege/lib/joda-time.joda-time-2.9.9.jar:/data/deploy/stock-privilege/lib/com.twitter.scrooge-core_2.10-3.17.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.datasource-3.5.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.httpclient-1.5.jar:/data/deploy/stock-privilege/lib/org.javassist.javassist-3.23.2-GA.jar:/data/deploy/stock-privilege/lib/javax.transaction.javax.transaction-api-1.3.jar:/data/deploy/stock-privilege/lib/org.springframework.data.spring-data-jpa-2.1.15.RELEASE.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-scala_2.12-2.9.4.jar:/data/deploy/stock-privilege/lib/io.opencensus.opencensus-api-0.21.0.jar:/data/deploy/stock-privilege/lib/org.springframework.plugin.spring-plugin-core-1.2.0.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.common.args-core-0.1.33.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-rpc-client_2.10-2.1.8.jar:/data/deploy/stock-privilege/lib/org.springframework.data.spring-data-commons-2.1.15.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-zipkin_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.spring.xueqiu-spring-discovery-0.4.19.jar:/data/deploy/stock-privilege/lib/org.jboss.logging.jboss-logging-3.3.2.Final.jar:/data/deploy/stock-privilege/lib/aopalliance.aopalliance-1.0.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-netty-1.24.2.jar:/data/deploy/stock-privilege/lib/com.twitter.util-logging_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-server-1.1.4.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-server-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/org.jvnet.staxex.stax-ex-1.8.jar:/data/deploy/stock-privilege/lib/com.twitter.scrooge-runtime_2.10-3.17.0.jar:/data/deploy/stock-privilege/lib/javax.servlet.javax.servlet-api-3.1.0.jar:/data/deploy/stock-privilege/lib/jstl.jstl-1.2.jar:/data/deploy/stock-privilege/lib/com.twitter.util-registry_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/io.micrometer.micrometer-registry-prometheus-1.1.9.jar:/data/deploy/stock-privilege/lib/com.googlecode.concurrentlinkedhashmap.concurrentlinkedhashmap-lru-1.2_jdk5.jar:/data/deploy/stock-privilege/lib/com.squareup.okhttp3.okhttp-3.14.6.jar:/data/deploy/stock-privilege/lib/com.twitter.common.dynamic-host-set-0.0.53.jar:/data/deploy/stock-privilege/lib/com.twitter.common.net-util-0.0.97.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xcommon-3.9.jar:/data/deploy/stock-privilege/lib/org.apache.tomcat.embed.tomcat-embed-el-9.0.30.jar:/data/deploy/stock-privilege/lib/com.twitter.common.util-sampler-0.0.75.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-http-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.squareup.retrofit2.converter-jackson-2.2.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-x-discovery-2.13.0.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-aop-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.common.base-0.0.112.jar:/data/deploy/stock-privilege/lib/org.hibernate.common.hibernate-commons-annotations-5.0.4.Final.jar:/data/deploy/stock-privilege/lib/org.apache.xmlbeans.xmlbeans-2.6.0.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-context-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.httpcomponents.httpclient-4.4.1.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-paranamer-2.9.4.jar com.xueqiu.stock.privilege.server.StockPrivilegeServer复制代码
app         158      1 99 20:31 ?        00:01:38 java -Xmx1024m -Xms1024m -XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M -verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseG1GC -Xloggc:/data/deploy/stock-privilege/logs/gclogs/gc.log.20211101_203154 -Dlog.home=/data/deploy/stock-privilege/logs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -classpath /data/deploy/stock-privilege/conf/sep::/data/deploy/stock-privilege/lib/ma.glasnost.orika.orika-core-1.4.6.jar:/data/deploy/stock-privilege/lib/org.hibernate.validator.hibernate-validator-6.0.18.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-zipkin_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-spi-2.4.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xdc.cluster.xdc-cluster-1.2.jar:/data/deploy/stock-privilege/lib/net.sf.jopt-simple.jopt-simple-3.2.jar:/data/deploy/stock-privilege/lib/cglib.cglib-3.2.4.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-client-2.13.0.jar:/data/deploy/stock-privilege/lib/com.rabbitmq.amqp-client-3.6.1.jar:/data/deploy/stock-privilege/lib/javax.annotation.javax.annotation-api-1.3.2.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-core-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.googlecode.concurrentlinkedhashmap.concurrentlinkedhashmap-lru-1.2_jdk5.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-http-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/org.apache.poi.poi-ooxml-schemas-3.17.jar:/data/deploy/stock-privilege/lib/org.apache.ant.ant-1.9.6.jar:/data/deploy/stock-privilege/lib/org.springframework.data.spring-data-jpa-2.1.15.RELEASE.jar:/data/deploy/stock-privilege/lib/com.belerweb.pinyin4j-2.5.1.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowpay.snowpay-common-2.1.10.jar:/data/deploy/stock-privilege/lib/com.twitter.util-logging_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/net.bytebuddy.byte-buddy-1.9.11.jar:/data/deploy/stock-privilege/lib/com.twitter.common.zookeeper.group-0.0.87.jar:/data/deploy/stock-privilege/lib/com.twitter.util-app_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.google.api.grpc.proto-google-common-protos-1.12.0.jar:/data/deploy/stock-privilege/lib/com.netflix.archaius.archaius-core-0.6.5.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-rpc-common-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/com.squareup.okhttp3.logging-interceptor-3.2.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-actuator-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/io.opencensus.opencensus-contrib-grpc-metrics-0.21.0.jar:/data/deploy/stock-privilege/lib/org.apache.kafka.kafka_2.10-0.8.2.1.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-jdbc-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-pool2-2.3.jar:/data/deploy/stock-privilege/lib/com.fasterxml.classmate-1.3.4.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-paranamer-2.9.4.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.toolbox.xueqiu-toolbox-core-0.0.50.jar:/data/deploy/stock-privilege/lib/org.springframework.security.spring-security-crypto-5.0.7.RELEASE.jar:/data/deploy/stock-privilege/lib/commons-dbutils.commons-dbutils-1.6.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-logger-impls-0.0.43-extra.jar:/data/deploy/stock-privilege/lib/aopalliance.aopalliance-1.0.jar:/data/deploy/stock-privilege/lib/jline.jline-0.9.94.jar:/data/deploy/stock-privilege/lib/com.twitter.common.service-thrift-1.0.54.jar:/data/deploy/stock-privilege/lib/org.springframework.plugin.spring-plugin-metadata-1.2.0.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.common.io-thrift-0.0.64.jar:/data/deploy/stock-privilege/lib/org.jsoup.jsoup-1.10.2.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stats-0.0.112.jar:/data/deploy/stock-privilege/lib/org.apache.kafka.kafka-clients-1.0.2.jar:/data/deploy/stock-privilege/lib/javax.xml.bind.jaxb-api-2.3.1.jar:/data/deploy/stock-privilege/lib/io.prometheus.simpleclient-0.8.0.jar:/data/deploy/stock-privilege/lib/com.ctrip.framework.apollo.apollo-client-1.4.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xqlogger.xrealtime-logger-client-3.0.1.jar:/data/deploy/stock-privilege/lib/org.projectlombok.lombok-1.16.14.jar:/data/deploy/stock-privilege/lib/org.springframework.plugin.spring-plugin-core-1.2.0.RELEASE.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-stub-1.24.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.antispam-filter-client-1.0.2.jar:/data/deploy/stock-privilege/lib/com.google.errorprone.error_prone_annotations-2.3.3.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-schema-2.4.0.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-test_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.google.android.annotations-4.1.1.4.jar:/data/deploy/stock-privilege/lib/com.twitter.util-codec_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/org.slf4j.jcl-over-slf4j-1.7.12.jar:/data/deploy/stock-privilege/lib/com.thoughtworks.paranamer.paranamer-2.8.jar:/data/deploy/stock-privilege/lib/org.ehcache.ehcache-3.4.0.jar:/data/deploy/stock-privilege/lib/com.ryantenney.metrics.metrics-spring-3.1.3.jar:/data/deploy/stock-privilege/lib/commons-beanutils.commons-beanutils-1.9.2.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-context-1.24.2.jar:/data/deploy/stock-privilege/lib/com.typesafe.scala-logging.scala-logging-slf4j_2.10-2.1.2.jar:/data/deploy/stock-privilege/lib/com.twitter.util-stats_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.core.jackson-annotations-2.9.4.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-afterburner-2.6.1.jar:/data/deploy/stock-privilege/lib/io.micrometer.micrometer-registry-prometheus-1.1.9.jar:/data/deploy/stock-privilege/lib/com.twitter.scrooge-runtime_2.10-3.17.0.jar:/data/deploy/stock-privilege/lib/org.slf4j.jul-to-slf4j-1.7.12.jar:/data/deploy/stock-privilege/lib/org.hdrhistogram.HdrHistogram-2.1.9.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-orm-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.101tec.zkclient-0.3.jar:/data/deploy/stock-privilege/lib/com.alibaba.easyexcel-2.2.3.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-data-jpa-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowx.snowx-commons-1.0.0.118.jar:/data/deploy/stock-privilege/lib/ch.qos.logback.logback-core-1.1.3.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xdc.cluster.xdc-cluster-kafka-2.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowpay.snowpay-client-2.1.10.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-jvm-4.0.7.jar:/data/deploy/stock-privilege/lib/commons-codec.commons-codec-1.9.jar:/data/deploy/stock-privilege/lib/com.twitter.util-events_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-rpc-common_2.10-2.1.8.jar:/data/deploy/stock-privilege/lib/commons-io.commons-io-2.4.jar:/data/deploy/stock-privilege/lib/com.sun.xml.fastinfoset.FastInfoset-1.2.15.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.runtime-impl_2.10-0.8.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-collections4-4.1.jar:/data/deploy/stock-privilege/lib/com.twitter.common.util-sampler-0.0.75.jar:/data/deploy/stock-privilege/lib/org.apache.logging.log4j.log4j-api-2.11.2.jar:/data/deploy/stock-privilege/lib/com.twitter.common.args-0.2.35.jar:/data/deploy/stock-privilege/lib/com.github.virtuald.curvesapi-1.04.jar:/data/deploy/stock-privilege/lib/stax.stax-api-1.0.1.jar:/data/deploy/stock-privilege/lib/commons-pool.commons-pool-1.6.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.spring.xueqiu-spring-discovery-0.4.19.jar:/data/deploy/stock-privilege/lib/org.codehaus.mojo.animal-sniffer-annotations-1.17.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.antispam-filter-common-1.0.2.jar:/data/deploy/stock-privilege/lib/com.twitter.common.metrics-0.0.36.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-http_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.twitter.common.io-0.0.65.jar:/data/deploy/stock-privilege/lib/com.twitter.common.util-0.0.118.jar:/data/deploy/stock-privilege/lib/commons-lang.commons-lang-2.5.jar:/data/deploy/stock-privilege/lib/com.squareup.retrofit2.converter-jackson-2.2.0.jar:/data/deploy/stock-privilege/lib/com.twitter.common.io-json-0.0.51.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-aspects-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xcommon-3.9.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-common-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-server-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/io.prometheus.simpleclient_dropwizard-0.8.0.jar:/data/deploy/stock-privilege/lib/com.squareup.okio.okio-1.17.2.jar:/data/deploy/stock-privilege/lib/com.typesafe.scalalogging-slf4j_2.10-1.1.0.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-x-discovery-2.13.0.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-jmx-4.0.7.jar:/data/deploy/stock-privilege/lib/com.twitter.common.collections-0.0.106.jar:/data/deploy/stock-privilege/lib/com.twitter.common.application-action-0.0.87.jar:/data/deploy/stock-privilege/lib/org.javassist.javassist-3.23.2-GA.jar:/data/deploy/stock-privilege/lib/com.twitter.jsr166e-1.0.0.jar:/data/deploy/stock-privilege/lib/org.aspectj.aspectjweaver-1.8.4.jar:/data/deploy/stock-privilege/lib/commons-configuration.commons-configuration-1.8.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stat-0.0.68.jar:/data/deploy/stock-privilege/lib/org.apache.httpcomponents.httpclient-4.4.1.jar:/data/deploy/stock-privilege/lib/com.twitter.common.zookeeper.server-set-1.0.103.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-thrift_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-tomcat-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.jedis_2.10-2.7.2.jar:/data/deploy/stock-privilege/lib/org.bouncycastle.bcprov-jdk15on-1.52.jar:/data/deploy/stock-privilege/lib/org.xerial.snappy.snappy-java-1.1.4.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.spring.xueqiu-spring-grpc-common-0.4.19.jar:/data/deploy/stock-privilege/lib/io.netty.netty-handler-proxy-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.jedis-aspects_2.10-2.7.2.jar:/data/deploy/stock-privilege/lib/com.twitter.common.zookeeper.client-0.0.76.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-healthchecks-3.1.2.jar:/data/deploy/stock-privilege/lib/com.ctrip.framework.apollo.apollo-core-1.4.0.jar:/data/deploy/stock-privilege/lib/com.twitter.ostrich_2.10-9.9.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.stock-privilege-core-1.0-SNAPSHOT.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowball.snowball-common-5.0.1.jar:/data/deploy/stock-privilege/lib/io.netty.netty-common-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-protobuf-lite-1.24.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xutil-1.0.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-protobuf-1.24.2.jar:/data/deploy/stock-privilege/lib/io.netty.netty-handler-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-lang3-3.5.jar:/data/deploy/stock-privilege/lib/commons-net.commons-net-3.6.jar:/data/deploy/stock-privilege/lib/org.apache.zookeeper.zookeeper-3.4.6.jar:/data/deploy/stock-privilege/lib/org.apache.tomcat.embed.tomcat-embed-core-9.0.30.jar:/data/deploy/stock-privilege/lib/io.micrometer.micrometer-core-1.1.9.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-jcl-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-aop-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.toolbox.xueqiu-toolbox-config-0.0.7.jar:/data/deploy/stock-privilege/lib/org.scala-lang.scala-library-2.10.5.jar:/data/deploy/stock-privilege/lib/com.twitter.util-zk_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.core.jackson-databind-2.9.4.jar:/data/deploy/stock-privilege/lib/javax.servlet.javax.servlet-api-3.1.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.rediscluster_2.10-2.4.10.jar:/data/deploy/stock-privilege/lib/org.hibernate.hibernate-core-5.3.15.Final.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-server-1.1.4.jar:/data/deploy/stock-privilege/lib/com.google.guava.guava-20.0.jar:/data/deploy/stock-privilege/lib/jstl.jstl-1.2.jar:/data/deploy/stock-privilege/lib/ch.qos.logback.logback-classic-1.1.3.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-parameter-names-2.9.10.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-beans-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-autoconfigure-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/javax.persistence.javax.persistence-api-2.2.jar:/data/deploy/stock-privilege/lib/com.yammer.metrics.metrics-core-2.2.0.jar:/data/deploy/stock-privilege/lib/javax.activation.javax.activation-api-1.2.0.jar:/data/deploy/stock-privilege/lib/org.apache.tomcat.embed.tomcat-embed-el-9.0.30.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-http2-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.util-jvm_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.ovea.ovea-crypto-1.5.ga.jar:/data/deploy/stock-privilege/lib/commons-cli.commons-cli-1.2.jar:/data/deploy/stock-privilege/lib/com.typesafe.scala-logging.scala-logging-api_2.10-2.1.2.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-spring-web-2.4.0.jar:/data/deploy/stock-privilege/lib/com.twitter.util-eval_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.twitter.common.net-util-0.0.97.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.datatype.jackson-datatype-jdk8-2.9.10.jar:/data/deploy/stock-privilege/lib/com.twitter.util-core_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.datatype.jackson-datatype-jsr310-2.9.10.jar:/data/deploy/stock-privilege/lib/org.apache.xmlbeans.xmlbeans-2.6.0.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-context-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-core-4.0.7.jar:/data/deploy/stock-privilege/lib/org.springframework.data.spring-data-commons-2.1.15.RELEASE.jar:/data/deploy/stock-privilege/lib/org.slf4j.slf4j-api-1.7.12.jar:/data/deploy/stock-privilege/lib/com.carrotsearch.java-sizeof-0.0.4.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stats-util-0.0.57.jar:/data/deploy/stock-privilege/lib/com.twitter.common.args-core-0.1.33.jar:/data/deploy/stock-privilege/lib/com.xueqiu.eventcenter-2.0.jar:/data/deploy/stock-privilege/lib/com.squareup.okhttp3.okhttp-3.14.6.jar:/data/deploy/stock-privilege/lib/javax.transaction.javax.transaction-api-1.3.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-core-1.24.2.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.glassfish.jaxb.txw2-2.3.1.jar:/data/deploy/stock-privilege/lib/org.jboss.jandex-2.0.5.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.util-hashing_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.stock.quote-open-1.0.jar:/data/deploy/stock-privilege/lib/com.twitter.common.base-0.0.112.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-swagger2-2.4.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.datasource-3.5.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-rpc-server_2.10-2.1.8.jar:/data/deploy/stock-privilege/lib/org.springframework.cloud.spring-cloud-commons-2.0.1.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.usercenter-common_2.10-1.6.96.jar:/data/deploy/stock-privilege/lib/org.apache.poi.poi-3.17.jar:/data/deploy/stock-privilege/lib/net.sf.ezmorph.ezmorph-1.0.6.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-netty-1.24.2.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-serversets_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.google.code.gson.gson-2.8.0.jar:/data/deploy/stock-privilege/lib/io.netty.netty-resolver-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-core-2.4.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-logging-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/antlr.antlr-2.7.7.jar:/data/deploy/stock-privilege/lib/io.perfmark.perfmark-api-0.19.0.jar:/data/deploy/stock-privilege/lib/javax.validation.validation-api-2.0.1.Final.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-recipes-2.13.0.jar:/data/deploy/stock-privilege/lib/com.twitter.util-zk-common_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/org.hibernate.common.hibernate-commons-annotations-5.0.4.Final.jar:/data/deploy/stock-privilege/lib/com.xueqiu.finagle.finagle-helpers_2.10-1.1.1.jar:/data/deploy/stock-privilege/lib/berkeleydb.je-3.2.76.jar:/data/deploy/stock-privilege/lib/org.apache.poi.poi-ooxml-3.17.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-core_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/io.netty.netty-3.10.1.Final.jar:/data/deploy/stock-privilege/lib/net.sf.json-lib.json-lib-2.4-jdk15.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.usercenter-client_2.10-1.6.96.jar:/data/deploy/stock-privilege/lib/org.dom4j.dom4j-2.1.1.jar:/data/deploy/stock-privilege/lib/org.springframework.cloud.spring-cloud-zookeeper-discovery-2.0.0.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-httpx_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.toolbox.xueqiu-toolbox-metrics-0.0.50.jar:/data/deploy/stock-privilege/lib/com.zaxxer.HikariCP-3.2.0.jar:/data/deploy/stock-privilege/lib/io.prometheus.simpleclient_common-0.8.0.jar:/data/deploy/stock-privilege/lib/com.twitter.common.dynamic-host-set-0.0.53.jar:/data/deploy/stock-privilege/lib/xml-apis.xml-apis-1.0.b2.jar:/data/deploy/stock-privilege/lib/org.jvnet.staxex.stax-ex-1.8.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-configuration-processor-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.spring.xueqiu-spring-grpc-server-0.4.19.jar:/data/deploy/stock-privilege/lib/com.twitter.common.args-apt-0.1.33.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stats-provider-0.0.88.jar:/data/deploy/stock-privilege/lib/com.twitter.util-function_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/org.apache.httpcomponents.httpcore-4.4.1.jar:/data/deploy/stock-privilege/lib/com.alibaba.druid-1.1.9.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.core.jackson-core-2.9.4.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-webmvc-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.util-registry_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/dom4j.dom4j-1.6.1.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xqlogger.xrealtime-logger-common-3.0.1.jar:/data/deploy/stock-privilege/lib/com.google.protobuf.protobuf-java-3.9.0.jar:/data/deploy/stock-privilege/lib/com.twitter.util-collection_2.10-6.25.0.jar:/data/deploy/stock-privilege/lib/io.netty.netty-buffer-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-api-1.24.2.jar:/data/deploy/stock-privilege/lib/com.twitter.common.jdk-logging-0.0.76.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-actuator-autoconfigure-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.codehaus.jackson.jackson-core-asl-1.9.13.jar:/data/deploy/stock-privilege/lib/io.opencensus.opencensus-api-0.21.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xueqiu-rpc-client_2.10-2.1.8.jar:/data/deploy/stock-privilege/lib/org.bitbucket.b_c.jose4j-0.7.6.jar:/data/deploy/stock-privilege/lib/io.netty.netty-transport-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/org.glassfish.jaxb.jaxb-runtime-2.3.1.jar:/data/deploy/stock-privilege/lib/org.codehaus.jackson.jackson-mapper-asl-1.9.13.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-context-support-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-ostrich4_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/io.dropwizard.metrics.metrics-annotation-3.1.2.jar:/data/deploy/stock-privilege/lib/io.grpc.grpc-services-1.24.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.xconfig-2.10.jar:/data/deploy/stock-privilege/lib/org.aspectj.aspectjrt-1.8.4.jar:/data/deploy/stock-privilege/lib/com.typesafe.config-1.3.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-jdbc-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/mysql.mysql-connector-java-5.1.36.jar:/data/deploy/stock-privilege/lib/com.twitter.scala-json_2.10-3.0.2.jar:/data/deploy/stock-privilege/lib/org.scala-lang.scala-compiler-2.10.5.jar:/data/deploy/stock-privilege/lib/com.twitter.common.stat-registry-0.0.53.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-web-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/io.swagger.swagger-annotations-1.5.6.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-web-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.httpclient-1.5.jar:/data/deploy/stock-privilege/lib/org.apache.commons.commons-text-1.3.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-aop-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.curator.curator-framework-2.13.0.jar:/data/deploy/stock-privilege/lib/io.swagger.swagger-models-1.5.6.jar:/data/deploy/stock-privilege/lib/com.google.code.findbugs.annotations-2.0.0.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-actuator-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/com.alibaba.fastjson-1.2.56.jar:/data/deploy/stock-privilege/lib/org.lz4.lz4-java-1.4.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-tx-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-socks-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/com.twitter.finagle-stats_2.10-6.26.0.jar:/data/deploy/stock-privilege/lib/io.springfox.springfox-swagger-common-2.4.0.jar:/data/deploy/stock-privilege/lib/org.scala-lang.scala-reflect-2.12.4.jar:/data/deploy/stock-privilege/lib/org.yaml.snakeyaml-1.23.jar:/data/deploy/stock-privilege/lib/commons-collections.commons-collections-3.2.1.jar:/data/deploy/stock-privilege/lib/javax.inject.javax.inject-1.jar:/data/deploy/stock-privilege/lib/org.springframework.spring-expression-5.1.13.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.tomcat.embed.tomcat-embed-websocket-9.0.30.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.status-common-3.0.5.jar:/data/deploy/stock-privilege/lib/com.twitter.common.quantity-0.0.97.jar:/data/deploy/stock-privilege/lib/com.opencsv.opencsv-4.6.jar:/data/deploy/stock-privilege/lib/com.twitter.scrooge-core_2.10-3.17.0.jar:/data/deploy/stock-privilege/lib/io.netty.netty-codec-4.1.38.Final.jar:/data/deploy/stock-privilege/lib/org.jboss.logging.jboss-logging-3.3.2.Final.jar:/data/deploy/stock-privilege/lib/com.sun.istack.istack-commons-runtime-3.0.7.jar:/data/deploy/stock-privilege/lib/com.htsec.htsec-ext-0.0.2.jar:/data/deploy/stock-privilege/lib/com.xueqiu.infra.runtime-api_2.10-0.8.jar:/data/deploy/stock-privilege/lib/org.latencyutils.LatencyUtils-2.0.3.jar:/data/deploy/stock-privilege/lib/com.twitter.common.util-system-mocks-0.0.101.jar:/data/deploy/stock-privilege/lib/org.apache.logging.log4j.log4j-to-slf4j-2.11.2.jar:/data/deploy/stock-privilege/lib/com.google.protobuf.protobuf-java-util-3.9.0.jar:/data/deploy/stock-privilege/lib/joda-time.joda-time-2.9.9.jar:/data/deploy/stock-privilege/lib/org.slf4j.log4j-over-slf4j-1.7.12.jar:/data/deploy/stock-privilege/lib/com.squareup.okhttp3.okhttp-apache-3.2.0.jar:/data/deploy/stock-privilege/lib/com.google.inject.guice-4.1.0.jar:/data/deploy/stock-privilege/lib/com.fasterxml.jackson.module.jackson-module-scala_2.12-2.9.4.jar:/data/deploy/stock-privilege/lib/com.google.code.findbugs.jsr305-1.3.9.jar:/data/deploy/stock-privilege/lib/org.springframework.boot.spring-boot-starter-json-2.1.12.RELEASE.jar:/data/deploy/stock-privilege/lib/org.apache.ant.ant-launcher-1.9.6.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.status-thrift-3.0.5.jar:/data/deploy/stock-privilege/lib/org.apache.thrift.libthrift-0.5.0.jar:/data/deploy/stock-privilege/lib/com.xueqiu.snowflake.status-client-3.0.5.jar:/data/deploy/stock-privilege/lib/org.ow2.asm.asm-5.1.jar com.xueqiu.stock.privilege.server.StockPrivilegeServer复制代码

交换启动脚本会发现,classpath的加载顺序不一致就会出现问题case;可以确定的是跟-classpath中jar的加载顺序有关系

截图就是将203.79的启动命令放在202.223上,稳定出现

Jvm加载jar包的顺序

这个文章很有借鉴意义

问题修复

这里简述一下:原因是在代码里面自定义的objectMapper这个bean没有注入到mvc的convert list内,导致在序列化时,没有使用到camel转snake

修复:

更改代码

  1. 升级jackson配置

@Configuration

@ComponentScan(

        basePackages = "com.xueqiu.stock.privilege.*",

        excludeFilters = @ComponentScan.Filter({ Controller.class}))

public class CoreBasicConfiguration {



    @Primary

    @Bean

    public ObjectMapper jacksonObjectMapper() {

        SimpleModule thriftModule = new SimpleModule("thrift-module", new Version(1, 0, 0, null, null, null));

        thriftModule.addSerializer(new ThriftStructSerializer());

        return new ObjectMapper()

                .registerModule(thriftModule)

                .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)

                .setSerializationInclusion(JsonInclude.Include.NON_NULL)

                .setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);

    }



    @Bean

    public ObjectMapper classicObjectMapper() {

        return new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

    }



}复制代码
  1. 绑定mvc的convert转换器

@Configuration

@Import({

//        JacksonAutoConfiguration.class,

        HttpMessageConvertersAutoConfiguration.class,

        WebMvcAutoConfiguration.class,

//      ServerPropertiesAutoConfiguration.class,

        DispatcherServletAutoConfiguration.class,

//      EmbeddedServletContainerAutoConfiguration.class,

        SwaggerConfiguration.class

})

public class WebMvcConfiguration extends WebMvcConfigurerAdapter {

    private ObjectMapper mapper;



    @Bean

    public ResultExceptionHandler handler() {

        return new ResultExceptionHandler();

    }





    @Autowired

    public WebMvcConfiguration(ObjectMapper mapper) {

        // default mapper configured with spring.*

        this.mapper = mapper;

    }



    @Override

    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {

        for (HttpMessageConverter<?> httpConverter : converters) {

            if (httpConverter instanceof MappingJackson2HttpMessageConverter) {

                // register the configured object mapper to HttpMessageconter

                ((MappingJackson2HttpMessageConverter) httpConverter).setObjectMapper(mapper);

            }

        }

    }



    @Override

    public void addInterceptors(InterceptorRegistry registry) {

        registry.addInterceptor(new AuthControlInterceptor()).addPathPatterns("/internal/**");

        super.addInterceptors(registry);

    }

}复制代码

反向验证

将上述抓取的启动命令中jar加载顺序会出现问题的那个放在修改代码后的项目中启动,验证结果

咋搞都不会出问题了

总结

根据当前的问题,按照上述给的方法修复,就能避免问题出现


作者:阿拉斯加大闸蟹
链接:https://juejin.cn/post/7028165407865307172


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐