Elasticsearch version: 7.3.1
APM Server version: 7.3.1
APM Agent language and version: JAVA agent 1.9.0
Websphere Application Server version: 8.5.5.0, Single cell-node-server configuration.
Description of the problem: Websphere fails to startup with startServer.cmd
script when Java agent is installed.
We are attempting to monitor performance of a java application deployed in this appserver using the APM java agent.
Following this guide, we added the following generic arguments to the appserver:
-javaagent:D:/WAS/lib/elastic-apm-agent-1.9.0.jar
-Delastic.apm.service_name=my-apm-service
-Delastic.apm.application_packages=com.my.app.package
-Delastic.apm.server_urls=http://localhost:8200
However, when attempting to start up the local server using the startup script it fails and generates the following errors in the logs:
Failed to load transport channel: com.ibm.wsspi.channel.framework.exception.InvalidChannelFactoryException: com.ibm.ws.webcontainer.channel.WCChannelFactory cannot be loaded
at com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl.addChannelFromFactory(WSChannelFrameworkImpl.java:567)
at com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl.addChannel(WSChannelFrameworkImpl.java:420)
at com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.addChannel(ChannelFrameworkServiceImpl.java:821)
at com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.initialize(ChannelFrameworkServiceImpl.java:369)
at com.ibm.ws.runtime.component.ContainerHelper.initWsComponent(ContainerHelper.java:1192)
at com.ibm.ws.runtime.component.ContainerHelper.initializeComponent(ContainerHelper.java:1099)
at com.ibm.ws.runtime.component.ContainerHelper.initializeComponents(ContainerHelper.java:901)
at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:776)
at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:750)
at com.ibm.ws.runtime.component.ServerImpl.initialize(ServerImpl.java:353)
at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:292)
at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:223)
at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:686)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:234)
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:96)
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
at org.eclipse.core.launcher.Main.run(Main.java:981)
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:379)
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:150)
Caused by: java.lang.NoClassDefFoundError: com.ibm.wsspi.channel.base.ApplicationChannelFactory
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:324)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:580)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassName(ClasspathManager.java:460)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:447)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:731)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
at com.ibm.ws.channel.framework.ctm.BaseChannelTypeManager$OSGiChannelMetaDataImpl$1.run(BaseChannelTypeManager.java:392)
at com.ibm.ws.channel.framework.ctm.BaseChannelTypeManager$OSGiChannelMetaDataImpl$1.run(BaseChannelTypeManager.java:390)
at java.security.AccessController.doPrivileged(AccessController.java:456)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:125)
at com.ibm.ws.channel.framework.ctm.BaseChannelTypeManager$OSGiChannelMetaDataImpl.getClass(BaseChannelTypeManager.java:390)
at com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl.addChannelFromFactory(WSChannelFrameworkImpl.java:557)
... 39 more