有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (4) 个答案

  1. # 1 楼答案

    您可以使用Jrebel进行热部署。它将允许您在不重新启动服务器的情况下更改代码

  2. # 2 楼答案

    您可能还想看看JBoss中的ByteMan。它使用相同的Java代理机制,特别支持安装和卸载修改脚本,请参见tutorial。以下是本教程的节略版本:

    例如,假设我们有一些正在运行的Java进程:

    $ jps
    15295 Jps
    4884 main
    

    然后,我们可以将ByteMan安装到正在运行的进程中:

    $ bminstall.sh 4884
    

    然后,您可以创建一个ByteMan脚本:

    $ youreditor thread.btm
    RULE trace thread start
    CLASS java.lang.Thread
    METHOD start()
    IF true
    DO traceln("*** start for thread: "+ $0.getName())
    ENDRULE
    

    然后,您可以通过以下方式安装ByeMan脚本:

    $ bmsubmit.sh -l thread.btm
    

    删除:

    $ bmsubmit.sh -u thread.btm
    

    要列出当前正在运行的内容,只需在不带任何参数的情况下发出:

    $ bmsubmit.sh
    

    如果您在windows上运行,请更换。在每个命令中使用sh。蝙蝠

  3. # 3 楼答案

    您可以使用一个助手类(策略设计模式),它可以在运行时替换为另一个