zoukankan      html  css  js  c++  java
  • 2. jvm-sandbox之结构和状态

    参考:https://github.com/alibaba/jvm-sandbox/wiki/CONFIG

    结构说明:

    ./sandbox/bin/sandbox.sh

    沙箱的客户端脚本,用于启动、管理沙箱

    ./sandbox/cfg/

    ./sandbox/cfg/version

    存放沙箱容器的版本号,当你不确定当前容器的版本的时候可以通过这个文件进行核对

    ./sandbox/cfg/sandbox.properties

    存放沙箱容器的配置信息,配置文件只会在沙箱容器启动的时候加载一次。他的详细配置解释可以单独见配置文件解释

    ./sandbox/cfg/sandbox-logback.xml

    沙箱容器选用Logback作为他的日志框架,所以这里开放日志配置文件允许进行个性化的日志配置

    ./sandbox/lib/

    沙箱主程序的库包目录,这里存放的是沙箱工程的主程序,不能随意的删除、改名和移动!

    ./sandbox/module/

    沙箱系统模块目录,由配置项system_module进行定义。用于存放沙箱通用的管理模块,比如用于沙箱模块管理功能的module-mgr模块,未来的模块运行质量监控模块、安全校验模块也都将存放在此处,跟随沙箱的发布而分发。

    系统模块不受刷新(-f)、**强制刷新(-F)功能的影响,只有容器重置(-R)**能让沙箱重新加载系统模块目录下的所有模块。

    ${HOME}/.sandbox-module/

    沙箱用户模块目录,由sandbox.properties的配置项user_module进行定义,默认为${HOME}/.sandbox-module/。一般用于存放用户自研的模块。自研的模块经常要面临频繁的版本升级工作,当需要进行模块动态热插拔替换的时候,可以通过**刷新(-f)或强制刷新(-F)**来完成重新加载。

    状态说明:

    加载

    模块被沙箱正确加载,沙箱将会允许模块进行命令相应、代码插桩等动作

    卸载

    沙箱不会再看到该模块,之前给该模块分配的所有资源都将会被回收,包括模块已经侦听事件的类都将会被移除掉侦听插桩,干净利落不留后遗症

    激活

    模块加载成功后默认是冻结状态,需要代码主动进行激活。模块只有在激活状态下才能监听到沙箱事件

    冻结

    模块进入到冻结状态之后,之前侦听的所有沙箱事件都将被屏蔽。需要注意的是,冻结的模块不会退回事件侦听的代码插桩,只有delete()、wathcing()或者模块被卸载的时候插桩代码才会被清理

     

     

     

  • 相关阅读:
    PHP基础学习笔记(一)
    安装wampserver之后,浏览器中输入localhost页面显示IIS7解决办法
    HTML5常识总结(一)
    AngularJs中的服务
    AngularJs中的directives(指令part1)
    Happy Number——LeetCode
    Binary Tree Zigzag Level Order Traversal——LeetCode
    Construct Binary Tree from Preorder and Inorder Traversal——LeetCode
    Construct Binary Tree from Inorder and Postorder Traversal——LeetCode
    Convert Sorted Array to Binary Search Tree——LeetCode
  • 原文地址:https://www.cnblogs.com/moonpool/p/14510274.html
Copyright © 2011-2022 走看看