什么是com.singularity.ee.agent.appagent.kernel.spi.cJava代理?

什么是com.singularity.ee.agent.appagent.kernel.spi.cJava代理?,java,tomcat8,agent,javaagents,Java,Tomcat8,Agent,Javaagents,对不起,如果问题太广泛,但如果有人能解释什么是com.singularity.ee.agent.appagent.kernel.spi.c以及它的用途是什么? 我问这个问题是因为我通常将.war应用程序发送给我们的托管公司,然后他们在tomcat上继续安装。有两种环境:阶段性环境和预生产环境 我最近将我的应用程序的JDK版本从7升级到11,并采用OpenJDK和tomcat从7升级到8.5,托管公司在试生产时遇到了一些麻烦,因为他们成功地进行了登台 当我查看tomcat的日志时,我看到了一个例外

对不起,如果问题太广泛,但如果有人能解释什么是com.singularity.ee.agent.appagent.kernel.spi.c以及它的用途是什么? 我问这个问题是因为我通常将.war应用程序发送给我们的托管公司,然后他们在tomcat上继续安装。有两种环境:阶段性环境和预生产环境

我最近将我的应用程序的JDK版本从7升级到11,并采用OpenJDK和tomcat从7升级到8.5,托管公司在试生产时遇到了一些麻烦,因为他们成功地进行了登台

当我查看tomcat的日志时,我看到了一个例外:

[Thread-4] Thu Feb 07 13:44:31 CET 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver using node name [PWS]
[Thread-4] Thu Feb 07 13:44:31 CET 2019[DEBUG]: AgentInstallManager - Full Agent Registration Info Resolver finished running
[Thread-4] Thu Feb 07 13:44:31 CET 2019[INFO]: AgentInstallManager - Agent runtime directory set to [/opt/appdynamics/appagent/ver4.2.6.1]
[Thread-4] Thu Feb 07 13:44:31 CET 2019[INFO]: AgentInstallManager - Agent node directory set to [PWS]
[Thread-4] Thu Feb 07 13:44:31 CET 2019[INFO]: JavaAgent - Using Java Agent Version [Server Agent v4.2.6.1 GA #12852 rb165fa8df244b8369ae956b400e2ff834cf44edc 8-4.2.6.next-analytics]
[Thread-4] Thu Feb 07 13:44:31 CET 2019[INFO]: JavaAgent - Running IBM Java Agent [No]
[Thread-4] Thu Feb 07 13:44:31 CET 2019[INFO]: JavaAgent - Java Agent Directory [/opt/appdynamics/appagent/ver4.2.6.1]
[Thread-4] Thu Feb 07 13:44:31 CET 2019[INFO]: JavaAgent - Java Agent AppAgent directory [/opt/appdynamics/appagent/ver4.2.6.1]
Agent Logging Directory [/opt/appdynamics/appagent/ver4.2.6.1/logs/PWS]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.singularity.ee.agent.configuration.k (file:/opt/appdynamics/appagent/ver4.2.6.1/lib/appagent-boot.jar) to field java.security.AccessControlContext.context
WARNING: Please consider reporting this to the maintainers of com.singularity.ee.agent.configuration.k
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Running obfuscated agent

Could not start Java Agent, Disabling !!!!!com.singularity.ee.agent.appagent.kernel.spi.c: Could not start services ,Please check log files

com.singularity.ee.agent.appagent.kernel.spi.c: Could not start services
        at com.singularity.ee.agent.appagent.kernel.l.start(l.java:124)
        at com.singularity.ee.agent.appagent.kernel.JavaAgent.initialize(JavaAgent.java:428)
        at com.singularity.ee.agent.appagent.kernel.JavaAgent.initialize(JavaAgent.java:242)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at com.singularity.ee.agent.appagent.AgentEntryPoint$1.run(AgentEntryPoint.java:481)
Caused by: com.singularity.ee.agent.appagent.kernel.spi.e: Error starting service [TransactionMonitoringService]java.sql.SQLException
        at com.singularity.ee.agent.appagent.kernel.qc.a(qc.java:287)
        at com.singularity.ee.agent.appagent.kernel.qc.a(qc.java:249)
        at com.singularity.ee.agent.appagent.kernel.l.start(l.java:118)
        ... 7 more
我的问题是:

什么是JavaAgent:com.singularity.ee.agent.appagent? 它的目的是什么? 为什么有人需要使用它? 为什么应用程序在启动时会因为此代理而崩溃? 我还查看了代理日志,其中有许多异常,如:

java.lang.IllegalArgumentException
        at com.singularity.asm501.org.objectweb.asm.ClassReader.<init>(ClassReader.java:163)
        at com.singularity.asm501.org.objectweb.asm.ClassReader.<init>(ClassReader.java:150)
        at com.singularity.asm501.org.objectweb.asm.ClassReader.<init>(ClassReader.java:402)
        at com.singularity.ee.agent.appagent.services.bciengine.asm501.d.a(d.java:443)
        at com.singularity.ee.agent.appagent.services.bciengine.asm501.d.<init>(d.java:314)
        at com.singularity.ee.agent.appagent.services.bciengine.asm501.gb.a(gb.java:372)
        at com.singularity.ee.agent.appagent.services.bciengine.asm501.bb.a(bb.java:624)
        at com.singularity.ee.agent.appagent.services.bciengine.asm501.bb.a(bb.java:893)
        at com.singularity.ee.agent.appagent.services.bciengine.asm501.x.a(x.java:374)
        at com.singularity.ee.agent.appagent.services.bciengine.asm501.x.transform(x.java:326)
        at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:246)
        at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
        at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563)
        at java.base/java.lang.VMAccess.findClassOrNull(Native Method)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1026)
        at java.base/java.time.format.DateTimeFormatterBuilder.appendText(DateTimeFormatterBuilder.java:794)
        at java.base/java.time.format.DateTimeFormatter.<clinit>(DateTimeFormatter.java:1289)
        at org.hibernate.type.InstantType.<clinit>(InstantType.java:35)
        at org.hibernate.type.BasicTypeRegistry.<init>(BasicTypeRegistry.java:60)
        at org.hibernate.type.spi.TypeConfiguration.<init>(TypeConfiguration.java:82)
        at org.hibernate.boot.internal.BootstrapContextImpl.<init>(BootstrapContextImpl.java:112)
        at org.hibernate.boot.internal.MetadataBuilderImpl.<init>(MetadataBuilderImpl.java:124)
        at org.hibernate.boot.MetadataSources.getMetadataBuilder(MetadataSources.java:136)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:218)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:167)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:32)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:89)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:166)
        at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:141)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:390)
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1804)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1741)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
        at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$161.0000000034BF6AA0.getObject(Unknown Source)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1083)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:853)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:400)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4792)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:629)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1839)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:825)
[localhost-startStop-1] 07 Feb 2019 13:44:41,680 ERROR ClassMetaData - Exception java.lang.IllegalArgumentException caught trying to parse class file for java.time.format.DateTimeFormatterBuilder$TextPrinterParser from ClassLoader boot

非常感谢您的澄清。

这是appdynamics的APM代理。如果你不知道它是什么,我怀疑你需要它

你能补充更多细节吗。就我个人而言,我不需要它,但我不了解这个代理的用途。经过一些搜索,我了解了这个代理的原因,有没有办法在运行tomcat的JVM上禁用代理附件。我使用的是OpenJDK11+OpenJ9,只需将其从JVM参数中删除即可。