Skip to content
Snippets Groups Projects
Commit f36cd4e9 authored by Simon Spinner's avatar Simon Spinner
Browse files

Fix processing of servlets with no web manifest (only annotations).

parent 8e325d82
No related branches found
No related tags found
No related merge requests found
......@@ -56,8 +56,9 @@ import org.jboss.as.webservices.metadata.model.POJOEndpoint;
import org.jboss.as.webservices.util.WSAttachmentKeys;
import org.jboss.invocation.ImmediateInterceptorFactory;
import org.jboss.logging.Logger;
import org.jboss.metadata.web.jboss.JBossServletMetaData;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.metadata.web.spec.ServletMappingMetaData;
import org.jboss.metadata.web.spec.ServletMetaData;
import tools.descartes.prisma.agent.wildfly.callstack.ComponentRecord;
import tools.descartes.prisma.agent.wildfly.interceptors.EJBLocalCallInterceptor;
......@@ -101,27 +102,29 @@ public class ServerInstrumentationDeploymentProcessor implements DeploymentUnitP
if (metaData != null) {
String serverNode = System.getProperty("jboss.node.name");
String root = null;
if (metaData.getJBossWebMetaData() != null) {
root = metaData.getJBossWebMetaData().getContextRoot();
}
if (root == null) {
root = eeModuleDescription.getModuleName();
}
Map<String, String> servlets = new HashMap<>();
for (ServletMetaData curServlet : metaData.getWebMetaData().getServlets()) {
servlets.put(curServlet.getServletName(), curServlet.getServletClass());
}
for (ServletMappingMetaData meta : metaData.getWebMetaData().getServletMappings()) {
for (String url : meta.getUrlPatterns()) {
if (url.startsWith("/")) {
url = url.substring(1);
JBossWebMetaData jbossWeb = metaData.getMergedJBossWebMetaData();
if (jbossWeb != null) {
root = jbossWeb.getContextRoot();
if (root == null) {
root = eeModuleDescription.getModuleName();
}
Map<String, String> servlets = new HashMap<>();
for (JBossServletMetaData curServlet : jbossWeb.getServlets()) {
servlets.put(curServlet.getServletName(), curServlet.getServletClass());
}
for (ServletMappingMetaData meta : jbossWeb.getServletMappings()) {
for (String url : meta.getUrlPatterns()) {
if (url.startsWith("/")) {
url = url.substring(1);
}
String alias = serverNode + "/" + root + "/" + url;
ComponentRecord record = monitoringService.requireComponent(serverNode,
eeModuleDescription.getApplicationName(), eeModuleDescription.getModuleName(), url);
record.setComponentClass(servlets.get(meta.getServletName()));
monitoringService.addAlias(alias, record);
}
String alias = serverNode + "/" + root + "/" + url;
ComponentRecord record = monitoringService.requireComponent(serverNode,
eeModuleDescription.getApplicationName(), eeModuleDescription.getModuleName(),
url);
record.setComponentClass(servlets.get(meta.getServletName()));
monitoringService.addAlias(alias, record);
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment