我向New Relic提交了一個支持請求,但我想我也會在這裏給它一個鏡頭。我試圖在wildfly-8.0.0.Beta1中部署我的webpp,並得到一個奇怪的重複註釋異常。我的應用程序通常在沒有New Relic的情況下部署,但在完成安裝步驟後,我會在Weld部署階段獲得此堆棧跟蹤。使用New Relic在Wildfly上部署的例外
使用JD-GUI,我已經打開了jar,並且沒有在他們引用的類上看到duped註釋。
有沒有人見過這個?想法解決?
堆棧跟蹤的關鍵部分是(我認爲)這部分:
Caused by: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface com.newrelic.agent.instrumentation.InstrumentedMethod: @com.newrelic.agent.instrumentation.InstrumentedMethod(dispatcher=false, instrumentationType=BuiltIn, instrumentationName=com.newrelic.agent.instrumentation.webservices.RestAnnotationVisitor)
完整堆棧跟蹤:
17:17:40,140 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."crs-http-json-api.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."crs-http-json-api.war".WeldStartService: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1900) [jboss-msc-1.2.0.Beta2.jar:1.2.0.Beta2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
Caused by: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface com.newrelic.agent.instrumentation.InstrumentedMethod: @com.newrelic.agent.instrumentation.InstrumentedMethod(dispatcher=false, instrumentationType=BuiltIn, instrumentationName=com.newrelic.agent.instrumentation.webservices.RestAnnotationVisitor)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2256)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:52)
at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:80)
at org.jboss.weld.resources.ClassTransformer.getEnhancedAnnotatedType(ClassTransformer.java:247)
at org.jboss.weld.resources.ClassTransformer.getEnhancedAnnotatedType(ClassTransformer.java:228)
at org.jboss.weld.injection.producer.SubclassedComponentInstantiator.initEnhancedSubclass(SubclassedComponentInstantiator.java:65)
at org.jboss.weld.injection.producer.SubclassedComponentInstantiator.<init>(SubclassedComponentInstantiator.java:58)
at org.jboss.weld.injection.producer.SubclassedComponentInstantiator.<init>(SubclassedComponentInstantiator.java:54)
at org.jboss.weld.injection.producer.BeanInjectionTarget.initializeAfterBeanDiscovery(BeanInjectionTarget.java:127)
at org.jboss.weld.injection.producer.InjectionTargetInitializationContext.initialize(InjectionTargetInitializationContext.java:42)
at org.jboss.weld.injection.producer.InjectionTargetService.initialize(InjectionTargetService.java:58)
at org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:410)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:76)
at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:64)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1944) [jboss-msc-1.2.0.Beta2.jar:1.2.0.Beta2]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1877) [jboss-msc-1.2.0.Beta2.jar:1.2.0.Beta2]
... 3 more
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface com.newrelic.agent.instrumentation.InstrumentedMethod: @com.newrelic.agent.instrumentation.InstrumentedMethod(dispatcher=false, instrumentationType=BuiltIn, instrumentationName=com.newrelic.agent.instrumentation.webservices.RestAnnotationVisitor)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2256)
at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:52)
at org.jboss.weld.resources.DefaultReflectionCache.getAnnotationSet(DefaultReflectionCache.java:136)
at org.jboss.weld.annotated.slim.backed.BackedAnnotated.getAnnotations(BackedAnnotated.java:36)
at org.jboss.weld.annotated.enhanced.jlr.EnhancedAnnotatedMethodImpl.of(EnhancedAnnotatedMethodImpl.java:62)
at org.jboss.weld.annotated.enhanced.jlr.EnhancedAnnotatedTypeImpl.<init>(EnhancedAnnotatedTypeImpl.java:222)
at org.jboss.weld.annotated.enhanced.jlr.EnhancedAnnotatedTypeImpl.of(EnhancedAnnotatedTypeImpl.java:130)
at org.jboss.weld.resources.ClassTransformer$TransformSlimAnnotatedTypeToEnhancedAnnotatedType.load(ClassTransformer.java:93)
at org.jboss.weld.resources.ClassTransformer$TransformSlimAnnotatedTypeToEnhancedAnnotatedType.load(ClassTransformer.java:89)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 21 more
Caused by: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface com.newrelic.agent.instrumentation.InstrumentedMethod: @com.newrelic.agent.instrumentation.InstrumentedMethod(dispatcher=false, instrumentationType=BuiltIn, instrumentationName=com.newrelic.agent.instrumentation.webservices.RestAnnotationVisitor)
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:94) [rt.jar:1.7.0_25]
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:70) [rt.jar:1.7.0_25]
at java.lang.reflect.Method.declaredAnnotations(Method.java:714) [rt.jar:1.7.0_25]
at java.lang.reflect.Method.getDeclaredAnnotations(Method.java:707) [rt.jar:1.7.0_25]
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:196) [rt.jar:1.7.0_25]
at org.jboss.weld.resources.HotspotReflectionCache.internalGetAnnotations(HotspotReflectionCache.java:58)
at org.jboss.weld.resources.DefaultReflectionCache$1.load(DefaultReflectionCache.java:81)
at org.jboss.weld.resources.DefaultReflectionCache$1.load(DefaultReflectionCache.java:78)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
... 36 more
17:17:40,164 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "crs-http-json-api.war")]) - failure description: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"crs-http-json-api.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"crs-http-json-api.war\".WeldStartService: Failed to start service
Caused by: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface com.newrelic.agent.instrumentation.InstrumentedMethod: @com.newrelic.agent.instrumentation.InstrumentedMethod(dispatcher=false, instrumentationType=BuiltIn, instrumentationName=com.newrelic.agent.instrumentation.webservices.RestAnnotationVisitor)
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface com.newrelic.agent.instrumentation.InstrumentedMethod: @com.newrelic.agent.instrumentation.InstrumentedMethod(dispatcher=false, instrumentationType=BuiltIn, instrumentationName=com.newrelic.agent.instrumentation.webservices.RestAnnotationVisitor)
Caused by: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface com.newrelic.agent.instrumentation.InstrumentedMethod: @com.newrelic.agent.instrumentation.InstrumentedMethod(dispatcher=false, instrumentationType=BuiltIn, instrumentationName=com.newrelic.agent.instrumentation.webservices.RestAnnotationVisitor)"}}
我們目前在New Relic支持直接溝通,但一旦我們確定了原因和修復,我們會在這裏發佈。 Jboss測試版和New Relic的Java代理可能存在問題 –
太棒了,我收到了New Relic支持的電子郵件,但由於聖誕節旅行和事件尚未提供反饋。感謝更新。 – rtcarlson