[我们正在使用Adobe Experience Manager,我需要通过javaagent对其进行设置(我们有一个称为netdiagnostics的用于Java应用程序监视的特殊工具)。通常,为了启用监视,我只需要通过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.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中设置启动代理属性无法正常工作。我也得到了与您相同的NoClassDefError。您应该尝试将此属性与javaagent选项一起设置。javaagent:agent.jar -Dorg.osgi.framework.bootdelegation = com.cavisson.ndutils -jar sling.jar希望这会有所帮助。