2016-03-07 53 views
1

当我的wildfly 8.1.0服务器启动时,它应该创建一个类的实例。Byteman从开始防止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 

我的服务器启动成功了,如果线2以上我java_opts 3人是不存在的,但现在我在添加这些,服务器根本无法启动。没有什么可以指示发生了什么事情的标准输出或标准错误。我收到一条消息说要检查server.log以获取更多信息,但该文件不存在。

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

有没有人真的使用这个byteman工具?我很惊讶它没有堆栈溢出标签,并且在线上的信息很少。

回答

0

的问题是这条线:

-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^

沟的驱动器名称,并把引导罐子和听众之间的逗号:真。像这样:

-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^