Netdiagnostics Java Adobe Experience Manager 代理启动错误
netdiagnostics Java agent startup error with Adobe Experience Manager
我们正在使用 Adobe Experience Manager,我需要通过 javaagent 为其设置监控(我们有用于 java 应用程序监控的特殊工具,称为 netdiagnostics)。
通常,为了启用监控,我只需要通过 javaagent 选项将 netdiagnostics 的参数传递给应用程序。
但是在将 javaagent 选项传递给 Adobe Experience Manager 后,它没有启动,我在日志中看到错误:
su[16168]: 14.01.2020 08:31:05.615 *INFO * [Apache Sling Terminator] Java VM is shutting down
su[16168]: 14.01.2020 08:31:05.615 *INFO * [Apache Sling Terminator] Stopping Apache Sling
su[16168]: MAIN process: shutdown hook
su[16168]: MAIN process: exiting
su[16168]: Exception in thread "UnregisteringFilterThread for ServiceUnavailableFilter with tags [systemalive]" java.lang.NoClassDefFoundError: com/cavisson/ndutils/ThreadCallOutHandler
su[16168]: at org.apache.felix.hc.core.impl.filter.ServiceUnavailableFilter$UnregisteringFilterThread.run(ServiceUnavailableFilter.java)
su[16168]: Caused by: java.lang.ClassNotFoundException: com.cavisson.ndutils.ThreadCallOutHandler not found by org.apache.felix.healthcheck.core [579]
su[16168]: at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1597)
su[16168]: at org.apache.felix.framework.BundleWiringImpl.access0(BundleWiringImpl.java:79)
su[16168]: at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982)
su[16168]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
su[16168]: ... 1 more
su[16168]: 14.01.2020 08:31:33.418 *INFO * [Sling Notifier] Apache Sling has been stopped
此外,当我尝试检查系统就绪时,出现下一个错误:
curl http://127.0.0.1:4502/systemready
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /systemready. Reason:
<pre> Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.NoClassDefFoundError: com/cavisson/ndutils/NDHttpCapture
at javax.servlet.http.HttpServlet.service(HttpServlet.java:671)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:123)
at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86)
at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:131)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
at org.apache.felix.http.base.internal.dispatch.Dispatcher.doFilter(Dispatcher.java:146)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.doFilter(WhiteboardManager.java:1002)
at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:326)
at org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:136)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.doFilter(WhiteboardManager.java:1008)
at org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:97)
at org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:136)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.doFilter(WhiteboardManager.java:1008)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:1012)
at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:91)
at org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1701)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1668)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:502)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:748)
</pre>
</body>
</html>
我发现了一个类似的问题,但与另一个代理人:
https://discuss.elastic.co/t/apm-java-agent-startup-error-with-adobe-experience-manager/153451
正如那个问题中提到的,我试图通过命令行传递 sling.bootdelegation 参数(“-Dsling.bootdelegation.com.cavisson=com.cavisson.* ”)但是运气不好。
此外,AEM 在没有 java 代理选项的情况下成功启动 ...
在 sling.properties 中扩展 属性 "org.osgi.framework.bootdelegation" 像这样:
org.osgi.framework.bootdelegation=com.cavisson.ndutils,com.cavisson.ndutils.*,com.yourkit.*, ${org.apache.sling.launcher.bootdelegation}
我们正在使用 Adobe Experience Manager,我需要通过 javaagent 为其设置监控(我们有用于 java 应用程序监控的特殊工具,称为 netdiagnostics)。 通常,为了启用监控,我只需要通过 javaagent 选项将 netdiagnostics 的参数传递给应用程序。 但是在将 javaagent 选项传递给 Adobe Experience Manager 后,它没有启动,我在日志中看到错误:
su[16168]: 14.01.2020 08:31:05.615 *INFO * [Apache Sling Terminator] Java VM is shutting down
su[16168]: 14.01.2020 08:31:05.615 *INFO * [Apache Sling Terminator] Stopping Apache Sling
su[16168]: MAIN process: shutdown hook
su[16168]: MAIN process: exiting
su[16168]: Exception in thread "UnregisteringFilterThread for ServiceUnavailableFilter with tags [systemalive]" java.lang.NoClassDefFoundError: com/cavisson/ndutils/ThreadCallOutHandler
su[16168]: at org.apache.felix.hc.core.impl.filter.ServiceUnavailableFilter$UnregisteringFilterThread.run(ServiceUnavailableFilter.java)
su[16168]: Caused by: java.lang.ClassNotFoundException: com.cavisson.ndutils.ThreadCallOutHandler not found by org.apache.felix.healthcheck.core [579]
su[16168]: at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1597)
su[16168]: at org.apache.felix.framework.BundleWiringImpl.access0(BundleWiringImpl.java:79)
su[16168]: at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982)
su[16168]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
su[16168]: ... 1 more
su[16168]: 14.01.2020 08:31:33.418 *INFO * [Sling Notifier] Apache Sling has been stopped
此外,当我尝试检查系统就绪时,出现下一个错误:
curl http://127.0.0.1:4502/systemready
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /systemready. Reason:
<pre> Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.NoClassDefFoundError: com/cavisson/ndutils/NDHttpCapture
at javax.servlet.http.HttpServlet.service(HttpServlet.java:671)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:123)
at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86)
at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:131)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
at org.apache.felix.http.base.internal.dispatch.Dispatcher.doFilter(Dispatcher.java:146)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.doFilter(WhiteboardManager.java:1002)
at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:326)
at org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:136)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.doFilter(WhiteboardManager.java:1008)
at org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:97)
at org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:136)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.doFilter(WhiteboardManager.java:1008)
at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:1012)
at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:91)
at org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1701)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1668)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:502)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:748)
</pre>
</body>
</html>
我发现了一个类似的问题,但与另一个代理人: https://discuss.elastic.co/t/apm-java-agent-startup-error-with-adobe-experience-manager/153451
正如那个问题中提到的,我试图通过命令行传递 sling.bootdelegation 参数(“-Dsling.bootdelegation.com.cavisson=com.cavisson.* ”)但是运气不好。
此外,AEM 在没有 java 代理选项的情况下成功启动 ...
在 sling.properties 中扩展 属性 "org.osgi.framework.bootdelegation" 像这样:
org.osgi.framework.bootdelegation=com.cavisson.ndutils,com.cavisson.ndutils.*,com.yourkit.*, ${org.apache.sling.launcher.bootdelegation}