java.lang.NoClassDefFoundError: com/singularity/ee/agent/appagent/services/bciengine/templates/IHttpServletRequest

Мне нужно реализовать мониторинг производительности приложений (APM) для моего приложения, чтобы я реализовал appdynamic.

Я использую сервер Payara, и для того, чтобы настроить его для appdynamic, я следую нижеприведенному URL GlassFish + Startup + Settings

Я настроил все правильно, и я могу связаться с appdynamic. Я чертовски уверен в этом, потому что я проверил это с демонстрационным приложением, которое работает должным образом. Но когда я делаю то же самое для моего реального приложения на сервере, которое является приложением на основе Struts2, тогда я сталкиваюсь со следующими двумя вещами.

  1. Когда я пытаюсь получить доступ к корневому URL, сервер запрашивает имя пользователя и пароль и показывает ошибку 401 (пожалуйста, см. Прикрепленное изображение 1)
  2. Когда я пытаюсь получить доступ к URL-адресу входа в систему, я получаю сообщение об ошибке 404 (пожалуйста, см. Прикрепленное изображение 2).

Меня беспокоит то, почему я сталкиваюсь с двумя проблемами для моего заявления? если я удаляю конфигурацию APM из приложения, то обе точки не возникают для меня. Все работает правильно.

Я использую Struts 2.3.24 Payara Server(стеклянная рыба).

Если кто-то сталкивается с этой проблемой или есть какие-либо идеи, то дайте мне знать, я буду очень благодарен вам.

Любая мысль еще требуется от моей стороны, то дайте мне знать, я буду обновлять.

Предложения приветствуются.

Это показывает, когда я пытаюсь получить доступ к корневому URL

это показывает, когда я пытаюсь получить рут-доступ

Это показывает, когда я пытаюсь получить доступ к URL-адресу входа невозможно получить доступ к странице входа Я получаю сообщение об ошибке ниже при обращении к корневому 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
]]

1 ответ

Класс com/singularity/ee/agent/appagent/services/bciengine/templates/IHttpServletRequest можно найти в appaggent-boot.jar (AppServerAgent-4.2.12.1/ver.4.2.12.1/lib/appagent-boot.jar)

Я решил эту проблему, включив jar в папку WEB-INF/lib/.

Надеюсь, поможет!

Другие вопросы по тегам