2013-12-19 77 views
1

我向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)"}} 
+1

我們目前在New Relic支持直接溝通,但一旦我們確定了原因和修復,我們會在這裏發佈。 Jboss測試版和New Relic的Java代理可能存在問題 –

+0

太棒了,我收到了New Relic支持的電子郵件,但由於聖誕節旅行和事件尚未提供反饋。感謝更新。 – rtcarlson

回答

0

,我們有同樣的問題。這是與javax.annotation.security的版本衝突。 例如,在新的代理中使用@DenyAll的舊版本。 幸運的是,這是修復新的遺物3.3.2

+0

我會給你一個鏡頭。謝謝@ hans-moleman – rtcarlson