- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试设置 AspectJ for Metrics在一个简单的java项目中。我在 pom.xml 中添加了所需的依赖项。当我执行 mvn compile
时,我收到以下警告。它说,建议不适用。我哪里错了
[INFO] Showing AJC message detail for messages of types: [error, warning, fail]
[WARNING] advice defined in io.astefanutti.metrics.aspectj.TimedAspect has not been applied [Xlint:adviceDidNotMatch]
/root/.m2/repository/io/astefanutti/metrics/aspectj/metrics-aspectj/1.1.0/metrics-aspectj-1.1.0.jar!io/astefanutti/metrics/aspectj/TimedAspect.class:26
[WARNING] advice defined in io.astefanutti.metrics.aspectj.ExceptionMeteredAspect has not been applied [Xlint:adviceDidNotMatch]
/root/.m2/repository/io/astefanutti/metrics/aspectj/metrics-aspectj/1.1.0/metrics-aspectj-1.1.0.jar!io/astefanutti/metrics/aspectj/ExceptionMeteredAspect.class:26
[WARNING] advice defined in io.astefanutti.metrics.aspectj.MeteredAspect has not been applied [Xlint:adviceDidNotMatch]
/root/.m2/repository/io/astefanutti/metrics/aspectj/metrics-aspectj/1.1.0/metrics-aspectj-1.1.0.jar!io/astefanutti/metrics/aspectj/MeteredAspect.class:26
[WARNING] advice defined in io.astefanutti.metrics.aspectj.ExceptionMeteredStaticAspect has not been applied [Xlint:adviceDidNotMatch]
/root/.m2/repository/io/astefanutti/metrics/aspectj/metrics-aspectj/1.1.0/metrics-aspectj-1.1.0.jar!io/astefanutti/metrics/aspectj/ExceptionMeteredStaticAspect.class:26
这是我的 pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-graphite</artifactId>
<version>3.1.2</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-annotation</artifactId>
<version>3.1.2</version>
</dependency>
<dependency>
<groupId>io.astefanutti.metrics.aspectj</groupId>
<artifactId>metrics-aspectj</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.7</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.8</version>
<configuration>
<complianceLevel>1.6</complianceLevel>
<source>1.6</source>
<target>1.6</target>
<aspectLibraries>
<aspectLibrary>
<groupId>io.astefanutti.metrics.aspectj</groupId>
<artifactId>metrics-aspectj</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>dropwizard.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
这是我的代码:
package dropwizard;
import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.MetricFilter;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.SharedMetricRegistries;
import com.codahale.metrics.annotation.Metered;
import com.codahale.metrics.annotation.Timed;
import com.codahale.metrics.graphite.Graphite;
import com.codahale.metrics.graphite.GraphiteReporter;
import io.astefanutti.metrics.aspectj.Metrics;
import java.net.InetSocketAddress;
import java.util.concurrent.TimeUnit;
/**
* Hello world!
*
*/
@Metrics(registry = "graphiteregistry2")
public class App
{
static final MetricRegistry registry = new MetricRegistry();
public static void main(String args[]) {
startReport();
test();
wait5Seconds();
}
static void startReport() {
final Graphite graphite = new Graphite(new InetSocketAddress("127.0.0.1", 2003));
final GraphiteReporter reporter = GraphiteReporter.forRegistry(registry)
.prefixedWith("test8.example.com")
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.filter(MetricFilter.ALL)
.build(graphite);
reporter.start(1, TimeUnit.SECONDS);
ConsoleReporter reporter1 = ConsoleReporter.forRegistry(registry)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build();
reporter1.start(3, TimeUnit.SECONDS);
SharedMetricRegistries.add("graphiteregistry2", registry);
}
static void wait5Seconds() {
try {
Thread.sleep(5*1000);
}
catch(InterruptedException e) {}
}
@Timed(name = "test8method")
@Metered(name = "methodmeter")
static void test() {
//Timer.Context time = responses.timer("test8.update").time();
System.out.println("inside test");
try {
for(int i=0;i<10000;i++){}
}
finally {
//time.stop();
}
}
}
最佳答案
警告仅表示在工具库中定义了某些切入点不会触发,因此未应用的切入点。查看您的代码,您确实没有使用它们或在不应应用它们的地方使用它们,因此警告只是描述了这种情况。详细说明:
@Metrics
:已应用,无警告。@Timed
:未应用,因为用于静态方法,因此是警告。如果您查看 aspect source code您会看到切入点仅针对非静态方法:execution(@Timed !static * (@Metrics Profiled+).*(..))
@Metered
:未应用,因为用于静态方法,因此是警告。如果您查看 aspect source code您会看到切入点仅针对非静态方法:execution(@Metered !static * (@Metrics Profiled+).*(..))
从 test()
方法中删除 static
并查看重新编译时会发生什么。
关于java - 尚未应用带有 AspectJ 抛出建议的删除向导指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35739177/
我正在实现 WPF MVVM 向导,我想知道执行 DoOperation 的正确方法当加载新的向导页面 (UserControl) 时。 DoOperation在 MyWizard.ViewModal
我有一个场景,我正在尝试计划开始编码,并且我正在考虑使用django向导。 我的计划是通过两个步骤构建一个 django 向导,第一个简单,但第二个有点复杂。第二步将包含一个表单,该表单将根据第一步选
我想看看这些是否“建立了……” Flash网站(以支持用户定制的订购过程)是使用常规Flash还是Flex完成的? Site 1 Site 2 Site 3 Site 4 所有这些都可以通过定制的订购
我在人们提交一些数据的表单上使用了 FuelUX 向导,我们希望将其分解为逻辑步骤。效果非常好。 现在我正在处理相同表单的编辑版本,它工作正常,但由于步骤已经加载了数据,我希望用户能够直接跳到步骤 X
我有一个足够大的模型,可以切割成 3 种形式。我想使用 FormWizzard 来做到这一点,但我想知道,如何将表单中的信息保存到数据库? 所有东西都来自同一个模型。 你知道如何做到这一点吗? 最佳答
我使用 Primefaces 3.5。并尝试在的onnext处理程序中调用js函数。我希望在当前选项卡验证结果后,onnext 返回特定选项卡上的选项卡。我的验证函数 function val
我在我的应用程序中实现了向导 Bootstrap 。 我想检索当前选项卡的索引来测试显示或隐藏按钮“下一个”“上一个” $('#rootwizard').bootstrapWizard({ '
我想创建一个基于终端的安装程序/向导。 理想情况下,它就像 Ubuntu 服务器安装程序或 Arch Linux 安装程序——一个 ncurses (?) 重的 GUI,具有很多形式和箭头键优点。 其
问题 我的 WizardPage 中有一个 Composite,如果该 Composite 比向导窗口大,我想向其中添加滚动条,但到目前为止我尝试过的方法都不起作用。有人知道如何添加滚动条吗? 我想将
我正在尝试制作一个引导步骤表单,但它不想工作。我正在使用这段代码: https://codepen.io/digitalavinash/pen/VjyAXx?fbclid=IwAR2j8hRIG0gn
我目前正在开发一个网站(与健身相关),客户想要做一个功能,允许用户根据您从类似于 this example 上的 slider 中选择的选项来选择锻炼计划。 . 我想知道这是否可以用 CSS 完成,或
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
这应该很简单,但我错过了。我试图通过在我的 stylesheet.css 中使用此 css 将文本居中放置在我的向导 h1 标签中 .h1textalign { text-align:center;
我已经在这里问过这个问题 Creating next and back button on tabs bootstrap 3 wizard? 但我现在已经扩展它以在最后一个选项卡上添加完成,但现在我在
摩尔庄园手游已经上线好几天了,身边不少小伙伴也都开始玩了,不过其中的还是有不少的玩法等待大家去解锁,比如大家知道怎么去传送好友,蘑菇吗?向导怎么传送呢?有哪些方法和技巧?下面就和小编一起来看看。
每次我在我的 Android Studio 中为该项目创建一个新 fragment 时,它都会创建 android.support.v4.app.Fragment ,这不是我想要的。此外,它总是会触发
我正在为我的公司项目使用 SAPUI5 向导,但由于某种原因它对我不起作用。 这是我的代码: var allSteps = oWizardElement.getSteps(); var stepOne
在扩展中,我希望能够修改现有链接。数据库中的相应字段可能包含多个链接(例如 tt_content.bodytext)。 我想尽可能多地重用现有的功能。所以我想使用已经存在的链接向导。 我找到的是现有路
长话短说,我有一个开发人员让我成为一名向导,即使我付了钱给他,他也没有在没有回复的情况下离开,并坚持使用一个半工作的Python向导。 该向导在 Kodi 内部运行,下载并解压 zip 文件。但有时我
我对 Fuel UX 向导有疑问。当我按下 fuel ux 向导上的下一步按钮时,我发送使用 validate_step(step) 选择的 category_id 并使用来自 php 的 json
我是一名优秀的程序员,十分优秀!