小编ali*_*mon的帖子

关于javaagents的教程

我想学习一些关于javaagents的东西,但研究并不容易.大多数结果指的是JADE.我知道java代理可能意味着两件事:

  1. 用Java编程的代理是分布式系统的代理概念的化身.
  2. 用于增强JVM工作的低级软件组件,例如分析器,代码覆盖工具等

我在这里找到了类似的问题,但不幸的是它也提到了版本1.

你知道任何文章,初学者的教程,关于版本2中javaagent的示例项目吗?我在这里找到了一个,但我正在寻找更多.

java javaagents

52
推荐指数
2
解决办法
6万
查看次数

Maven + AspectJ - 配置它的所有步骤

将方面应用于我的maven项目时遇到问题.可能我错过了一些东西,所以我已经列出了一系列步骤.你能检查一下是否正确吗?

让我们说projectA是一个方面类和projectB类,应该由方面改变.

  • ProjectAAspectJclass 创建maven项目
  • 添加Aspectj插件和依赖项
  • 添加ProjectA为依赖项projectB pom.xml
  • 添加到projectB pom.xml插件
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.4</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <source>${maven.compiler.source}</source>
        <target>${maven.compiler.target}</target>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>ProjectA</groupId>
                <artifactId>ProjectA</artifactId>
            </aspectLibrary>
        </aspectLibraries>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
  • 添加aspectj依赖项

完成所有这些步骤之后我的问题是,在编译期间,我得到:

[WARNING] advice defined in AspectE has not been applied [Xlint:adviceDidNotMatch]
Run Code Online (Sandbox Code Playgroud)

然后当我运行我的程序时:

Exception in thread "FeatureExcutionThread" java.lang.NoClassDefFoundError: AspectE
Run Code Online (Sandbox Code Playgroud)

java aspectj maven

33
推荐指数
3
解决办法
3万
查看次数

log4j:如何使用SocketAppender?

我有一个关于如何使用SocketAppender 的答案(我需要它来从分布式系统收集日志),但我是log4j的新手,我不知道如何使用该示例代码.

可能我应该有这样的log4j-server.properties:

log4j.appender.SERVER=org.apache.log4j.net.SocketAppender
log4j.appender.SA.Port=4712
log4j.appender.SA.RemoteHost=loghost
log4j.appender.SA.ReconnectionDelay=10000
Run Code Online (Sandbox Code Playgroud)

但我还是不知道如何启动服务器(如何使用这一行)

org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties

什么是最重要的:哪里\我怎样才能看到我的日志?

java log4j appender

20
推荐指数
1
解决办法
4万
查看次数

log4j:当前时间,以毫秒为单位

log4j.properties我可以设置PatternLayout例如("[%p] %c - %m - %d %n")

是否有任何符号(%something)以毫秒为单位返回当前时间?

java log4j

16
推荐指数
4
解决办法
3万
查看次数

缺少库com.sun.tools.attach

我试过按照本教程,但我有导入问题.

我有:

The import com.sun.tools cannot be resolved
Run Code Online (Sandbox Code Playgroud)

排队

import com.sun.tools.attach.VirtualMachine;
Run Code Online (Sandbox Code Playgroud)

我试图在Sun/Oracle网站上查找一些信息,但我没有找到任何有用的信息.

我正在开发JDK 1.6.0_31.

java virtual-machine jdk-tools

14
推荐指数
1
解决办法
2万
查看次数

GWT Datagrid不显示数据,但包含数据

我正在尝试将a转换cellTable为a datagrid,因为我想稍后添加一个搜索处理程序,因此我需要修复列标题.目前我扩展celltable/ datagridclass并将小部件放入a simplelayoutpanel并将其添加到我的tabpanel.

如果我使用celltable,一切正常,数据显示.如果我将类的类型更改为datagrid,则数据有时会显示(列名始终存在).添加到我使用的表setRowData或a dataProvider.如果我设置断点以延迟加载表内容,则表有时会包含数据.如果我稍后调用表的重绘方法,该表将显示正确的信息.但该表应自动加载内容.在我的项目的其他"位置",我也使用了数据网格并且它可以工作Dialogboxes.

我认为项目的绘制肯定存在错误,因为如果我调用.getRowCount表或弃用.getDisplayedItems,它会返回表中应该有正确数量的项目.此外,如果我向表中添加选择模型并选择项目,则该项目包含有效数据.

gwt datagrid tabpanel celltable

11
推荐指数
2
解决办法
1万
查看次数

log4j:Socket Appender如何工作?

我不确定Socket Appender是如何工作的.我知道记录事件被发送到特定端口.然后我们可以在控制台上打印日志或将其放入文件中.

我的问题更多的是关于日志的发送方式.有没有例如一个队列?是同步还是异步?可以使用它减慢我的程序?

我在这里找到了一些信息,但对我来说并不清楚.

java log4j

10
推荐指数
1
解决办法
6217
查看次数

AspectJ:两种教程

根据我的研究,我知道使用AspectJ有两种方法.首先是通过创建A.aj通过添加注释类和第二@AspectA.java.

我正在为第二类寻找一个好的教程,特别是关于像

@After("call(void fooMethod())")  
@Around("call(void sendAndReceive())") 
@Before("execution(String greeting(..)) && args(context)")
Run Code Online (Sandbox Code Playgroud)

但我不知道他们是怎么叫的.

你能推荐一些教程吗?

java aspectj

9
推荐指数
1
解决办法
1万
查看次数

如何找到父线程的名称?

我知道在谈论流程时我们可以拥有"父母"和"孩子".但是有可能得到父母的Thread名字吗?

我做了我的研究,但我找到了仅针对.Net的答案


编辑:我尝试设置名称:

public class Main {

    public static void main(String[] args) {
        Thread r = new ThreadA();
        r.start();
    }

}



public class ThreadA extends Thread {
    public void run() {
        Thread.currentThread().setName("Thread A");
        System.out.println("Here  " + Thread.currentThread().getName());
        Thread r = new ThreadB();
        r.setName(Thread.currentThread().getName());
        r.start();
    }
}

public class ThreadB extends Thread {
    public void run() {
        Thread.currentThread().setName("Thread B");
        System.out.println("Here " + Thread.currentThread().getName());
        Thread r = new ThreadC();
        r.setName(Thread.currentThread().getName());
        r.start();
    }
}

public class ThreadC extends Thread …
Run Code Online (Sandbox Code Playgroud)

java multithreading

8
推荐指数
3
解决办法
2万
查看次数

如何绘制JMS队列?

JMS队列是否有任何符号?我知道例如数据库,文件,类应该以相同的方式绘制,但是JMS元素呢?

java diagram jms

8
推荐指数
2
解决办法
2万
查看次数