[英]Is it possible to run wicket-metrics with aspectJ on wicket 6?
我知道,自Wicket 7.3.0
以來, wicket-metrics
是一個實驗版本,但是我正在基於Wicket 6.17.0進行項目。 有沒有人嘗試通過Wicket 6
運行wicket-metrics
模塊?
我試過的
wicket-metrics
模塊添加到我的項目中,指示pom.xml使用我項目中的依賴項。 aop.xml
添加到我的META-INF文件夾中,並在init()
方法中啟動JmxReporter。 但是我收到錯誤消息,要求無法注冊WicketFilterInitAspect
(它包含在我的aop.xml文件中)。
META-INF文件夾中的aop.xml文件:
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<!--<weaver options="-nowarn">-->
<!--<include within="org.apache.wicket..*"/>-->
<!--</weaver>-->
<aspects>
<!-- required -->
<aspect name="org.apache.wicket.metrics.aspects.WicketFilterInitAspect" />
<!-- optional -->
<aspect name="org.apache.wicket.metrics.aspects.model.LoadableDetachableModelLoadAspect" />
<aspect name="org.apache.wicket.metrics.aspects.requesthandler.IRequestHandlerDetachAspect" />
<aspect name="org.apache.wicket.metrics.aspects.requesthandler.IRequestHandlerRespondAspect" />
<aspect name="org.apache.wicket.metrics.aspects.resource.IResourceCreateAspect" />
<aspect name="org.apache.wicket.metrics.aspects.behavior.BehaviorCreateAspect" />
<aspect name="org.apache.wicket.metrics.aspects.component.ComponentCreateAspect" />
<aspect name="org.apache.wicket.metrics.aspects.component.ComponentOnConfigureAspect" />
<aspect name="org.apache.wicket.metrics.aspects.component.ComponentOnDetachAspect" />
<aspect name="org.apache.wicket.metrics.aspects.component.ComponentOnInitializeAspect" />
<aspect name="org.apache.wicket.metrics.aspects.component.ComponentOnRenderAspect" />
<aspect name="org.apache.wicket.metrics.aspects.component.ComponentSetResponsePageAspect" />
<aspect name="org.apache.wicket.metrics.aspects.ajax.IPartialPageRequestHandlerAddAspect" />
<aspect name="org.apache.wicket.metrics.aspects.ajax.IPartialPageRequestHandlerAppendJavaScriptAspect" />
<aspect name="org.apache.wicket.metrics.aspects.ajax.IPartialPageRequestHandlerPrependJavaScriptAspect" />
<aspect name="org.apache.wicket.metrics.aspects.resource.ResourceReferenceCreateAspect" />
<aspect name="org.apache.wicket.metrics.aspects.markup.WicketTagCreateAspect" />
<aspect name="org.apache.wicket.metrics.aspects.request.WicketFilterRequestCycleUrlAspect" />
<aspect name="org.apache.wicket.metrics.aspects.request.WicketFilterRequestCycleAspect" />
<aspect name="org.apache.wicket.metrics.aspects.session.SessionCountListenerAspect" />
</aspects>
</aspectj>
因此,我的感覺是這通常應該可行,我想知道是否有人成功或有想法?
我的痕跡跟蹤的一部分:
[NoCallStackClassLoader@290dbf45] info AspectJ Weaver Version 1.8.2 built on Thursday Aug 14, 2014 at 21:45:02 GMT
[NoCallStackClassLoader@290dbf45] info register classloader javax.management.remote.rmi.NoCallStackClassLoader@290dbf45
[NoCallStackClassLoader@290dbf45] info register aspect org.apache.wicket.metrics.aspects.WicketFilterInitAspect
May 26, 2016 8:23:02 PM org.aspectj.weaver.tools.Jdk14Trace error
SEVERE: register definition failed
java.lang.RuntimeException: Cannot register non aspect: org$apache$wicket$metrics$aspects$WicketFilterInitAspect , org.apache.wicket.metrics.aspects.WicketFilterInitAspect
at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:485)
at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:304)
at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:171)
at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:339)
at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:344)
at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:318)
at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:113)
at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at javax.management.remote.rmi.NoCallStackClassLoader.findClass(NoCallStackClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at javax.management.remote.rmi.RMIConnector$1.run(RMIConnector.java:2157)
at javax.management.remote.rmi.RMIConnector$1.run(RMIConnector.java:2144)
at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnector.<clinit>(RMIConnector.java:2178)
at javax.management.remote.rmi.RMIConnectorServer.objectToBind(RMIConnectorServer.java:752)
at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:408)
at sun.management.jmxremote.ConnectorBootstrap.exportMBeanServer(ConnectorBootstrap.java:768)
at sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:456)
at sun.management.Agent.startAgent(Agent.java:257)
at sun.management.Agent.startAgent(Agent.java:447)
我也得到一些與spring框架有關的錯誤:
[AppClassLoader@14dad5dc] error can't determine superclass of missing type javax.cache.annotation.CacheResult
when weaving type org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
when weaving classes
when weaving
[Xlint:cantFindType]
[AppClassLoader@14dad5dc] error can't determine superclass of missing type javax.cache.annotation.CacheResult
when weaving type org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
when weaving classes
when weaving
[Xlint:cantFindType]
[AppClassLoader@14dad5dc] error can't determine whether missing type javax.cache.annotation.CacheResult is an instance of org.apache.wicket.Component
when weaving type org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
when weaving classes
when weaving
[Xlint:cantFindType]
[AppClassLoader@14dad5dc] error can't determine superclass of missing type javax.cache.annotation.CacheResult
when weaving type org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
when weaving classes
when weaving
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.