【问题标题】:Byteman preventing Wildfly 8.1.0 from starting?Byteman 阻止 Wildfly 8.1.0 启动?
【发布时间】:2016-06-21 08:17:32
【问题描述】:

当我的 wildfly 8.1.0 服务器启动时,它应该创建一个类的实例。

我不确定这是否发生,而且我无法更改源代码,所以我想我会使用 Byteman 来完成。

我为 Byteman 编写了这个规则文件,存储在 C:\app\ECLSManagedConnectionFactory.btm:

RULE trace ECLSManagedConnectionFactory init entry
CLASS com.empolis.ecls.server.j2ee.jca.impl.ECLSManagedConnectionFactory
METHOD <init>
AT ENTRY
IF true
DO traceOpen("ECLSManagedConnectionFactory", "/app/ECLSManagedConnectionFactory.log");
   traceln("entering <init>");
   traceClose("ECLSManagedConnectionFactory");
ENDRULE

我下载了Byteman并解压到C:\byteman-3.0.3

我修改了我的java_opts 并让wildfly 在启动期间回显该值:

-Xms64m -Xmx512m -XX:MaxPermSize=256m
-Dorg.jboss.byteman.transform.all
-javaagent:C:/byteman-3.0.3/lib/byteman.jar=script:C:/app/ECLSManagedConnectionFactory.btm,boot:C:/byteman-3.0.3/lib/byteman.jar:listener:true
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
-Djava.net.preferIPv4Stack=true
-Dorg.jboss.resolver.warning=true
-Djboss.modules.system.pkgs=org.jboss.byteman
-Djboss.server.default.config=cls.xml

如果我上面的java_opts 的第 2 行和第 3 行不存在,我的服务器成功启动,但是当我添加它们时,服务器根本没有启动。 stdout 或 stderr 没有任何迹象表明正在发生的事情。我收到一条消息说要检查 server.log 以获取更多信息,但该文件不存在。

我做错了什么?我已经尝试了路径的斜线方向的每种组合(如果这很重要,在 Windows 10 上)。

有人真正使用过这个byteman 工具吗?我很惊讶它在 Stack Overflow 上没有标签,而且网上可用的信息如此之少。

【问题讨论】:

    标签: java wildfly jboss7.x wildfly-8 byteman


    【解决方案1】:

    问题是这一行:

    -javaagent:C:/byteman-3.0.3/lib/byteman.jar=script:C:/app/ECLSManagedConnectionFactory.btm,boot:C:/byteman-3.0.3/lib/byteman.jar:listener:true
                                                                                                      This should have been a comma ^
    

    删除驱动器名称,并在引导 jar 和 listener:true 之间添加一个逗号。像这样:

    -javaagent:/byteman-3.0.3/lib/byteman.jar=script:/app/ECLSManagedConnectionFactory.btm,boot:/byteman-3.0.3/lib/byteman.jar,listener:true
                                                                          This has been fixed - it is a comma as it should be ^
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-17
      • 2014-11-17
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 2014-06-19
      相关资源
      最近更新 更多