java - Adobe Experience Manager 中的 netdiagnostics Java 代理启动错误

标签 java aem javaagents

我们正在使用 Adob​​e Experience Manager,我需要通过 javaagent 设置对其的监控(我们有一个名为 netdiagnostics 的用于 java 应用程序监控的特殊工具)。 通常,为了启用监控,我只需要通过 javaagent 选项将 netdiagnostics 的参数传递给应用程序。 但是将 javaagent 选项传递给 Adob​​e 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.access$300(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$1.doFilter(Dispatcher.java:146)
    at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$2.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$2.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$2.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$2.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$2.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 在没有 javaagent 选项的情况下成功启动...

最佳答案

在 sling.properties 中扩展属性“org.osgi.framework.bootdelegation”,如下所示:

org.osgi.framework.bootdelegation=com.cavisson.ndutils,com.cavisson.ndutils.*,com.yourkit.*, ${org.apache.sling.launcher.bootdelegation}

关于java - Adobe Experience Manager 中的 netdiagnostics Java 代理启动错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59748649/

相关文章:

java - 如何将 JColorChooser 添加到内容 Pane /Jpanel?

java - 如何过滤 JPA 存储库?

javascript - 在cq5中使用带有xtype html5smartimage的图像组件时如何限制上传图像的大小?

java - 在 list 中指定 -javaagent 选项

java - 如何将日志添加到可以动态更改日志级别的java代理

java - 类文件转换器 + Javassist : no such field

java - 从命令行回滚 Liquibase 不起作用

java - 什么是NullPointerException,我该如何解决?

java - AEM Sling 资源解析器映射方法

aem - iframe 的高度随着 url AEM6.1 中的 editor.html 不断大幅增加