我需要为我的应用程序实现应用程序性能监控(APM),因此我实现了 appdynamic。
我正在使用 Payara 服务器,为了将其配置为 appdynamic,我遵循以下网址 GlassFish+Startup+Settings
我正确设置了每件事,并且能够与 appdynamic 连接。我对此非常确定,因为我使用一个运行正常的演示应用程序对其进行了测试。但是,当我在基于 Struts2 的应用程序的服务器上为我的实际应用程序做同样的事情时,我将面临以下两件事。
- 当我尝试访问根 URL 时,服务器询问用户名和密码,并显示错误401(请参见附图 1)
- 当我尝试访问登录网址时,我收到错误404(请参见附图 2)。
我担心的是为什么我的应用程序面临上述两个问题?如果我从应用程序中删除APM配置,那么这两点对我来说都不会发生。一切正常。
我正在使用 Struts 2.3.24 Payara 服务器(glassfish)。
如果有人遇到此问题或有任何想法,请告诉我,我将非常感谢您。
我这边还需要任何其他想法,然后让我知道我会更新。
建议是最受欢迎的。
这表明当我尝试访问根 url
这表明当我尝试访问登录 url
时,当我点击 root url 时出现以下错误(仅当 APM 与服务器一起配置时才会发生错误)
java.lang.NoClassDefFoundError: com/singularity/ee/agent/appagent/services/bciengine/templates/IHttpServletRequest
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:1233)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1763)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1646)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:1233)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1763)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1646)
at org.apache.struts2.dispatcher.ng.InitOperations.createDispatcher(InitOperations.java:110)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:73)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:131)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:5329)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5974)
at com.sun.enterprise.web.WebModule.start(WebModule.java:692)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1041)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:1024)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2296)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1942)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:139)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:353)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:501)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:406)
at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:243)
at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:326)
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:374)
at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)
at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:228)
at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)
at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2022)
at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:114)
at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:88)
at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1213)
at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1144)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.singularity.ee.agent.appagent.services.bciengine.templates.IHttpServletRequest
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1796)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1646)
... 45 more
]]