Сведения о системе;
После установки javaagent (ниже) на JVM tomcat не может запуститься правильно javaagent:/usr/local/stackify/stackify-java-apm/stackify-java-apm.jar
По моим наблюдениям, Джерси не может правильно инициализироваться.
Следующий журнал показываетнормальный запуск tomcat;
19-Oct-2018 00:02:18.979 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.0.28
19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Nov 18 2015 23:50:41 UTC
19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.0.28.0
19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.1.13-19.30.amzn1.x86_64
19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.7.amzn1.x86_64/jre
19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_65-b17
19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/share/tomcat8
19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/share/tomcat8
19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -DIVW_CONFIG_SLACK_LOG_CHANNEL=#exceptions_alpha
19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:MaxPermSize=512m
19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx3700m
19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:-OmitStackTraceInFastThrow
19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+CMSClassUnloadingEnabled
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseConcMarkSweepGC
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+HeapDumpOnOutOfMemoryError
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:HeapDumpPath=/tmp/logs
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:/usr/local/stackify/stackify-java-apm/stackify-java-apm.jar
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms1024m
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/share/tomcat8
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/share/tomcat8
19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=
19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/media/ivwStorage/javaTemp/
19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/share/tomcat8/conf/logging.properties
19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
19-Oct-2018 00:02:19.191 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
19-Oct-2018 00:02:19.209 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
19-Oct-2018 00:02:19.254 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
19-Oct-2018 00:02:19.255 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
19-Oct-2018 00:02:19.264 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 945 ms
19-Oct-2018 00:02:19.298 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
19-Oct-2018 00:02:19.301 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.28
19-Oct-2018 00:02:19.352 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /var/lib/tomcat8/webapps/ROOT
19-Oct-2018 00:02:21.167 INFO [localhost-startStop-1] org.apache.catalina.core.StandardContext.checkUnusualURLPattern Suspicious url pattern: "*.css*" in context [] - see sections 12.1 and 12.2 of the Servlet specification
19-Oct-2018 00:02:21.168 INFO [localhost-startStop-1] org.apache.catalina.core.StandardContext.checkUnusualURLPattern Suspicious url pattern: "*.js*" in context [] - see sections 12.1 and 12.2 of the Servlet specification
Oct 19, 2018 12:02:21 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Oct 19, 2018 12:02:22 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Shiro environment
Configuration keys:[IVW_CONFIG_DB_USERNAME, IVW_CONFIG_SIMPLE_DB_LOG_DOMAIN, IVW_CONFIG_SLACK_LOG_CHANNEL, IVW_CONFIG_S3_BUCKET_NAME, IVW_CONFIG_DEVELOPMENT_MODE, IVW_CONFIG_EMAIL_WHITE_LIST, IVW_CONFIG_DB_SCONPROP, IVW_CONFIG_CONFIGURATION_CACHE_ENABLED, IVW_CONFIG_DB_NAME, IVW_CONFIG_DB_MAX_CONNECTIONS, IVW_CONFIG_DB_HOST, IVW_CONFIG_DISK_CACHE_DIRECTORY, IVW_CONFIG_WEB_APP_URL, IVW_CONFIG_AWS_ACCESS_KEY, IVW_CONFIG_SERVER_NAME, IVW_CONFIG_NOTIFICATION_WHITE_LIST, IVW_CONFIG_DB_PASSWORD, IVW_CONFIG_TIMING_LOG_ENABLED, IVW_CONFIG_SLACK_LOG_TOKEN, IVW_CONFIG_AWS_SECRET_KEY]
Oct 19, 2018 12:02:44 AM com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
com.***.rest
Oct 19, 2018 12:02:45 AM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:...
Но когда я добавляю javaagent Stackify, процесс запуска tomcat останавливается и журнал запуска останавливается, прежде чем отобразится следующая строка
com.sun.jersey.api.core.PackagesResourceConfig init
Может быть связано, что каждыйЧерез некоторое время после возникновения такой проблемы, когда я перезагружаю tomcat, я также вижу некоторые предупреждения об утечке памяти, которые могут быть связаны.
INFO: Cleaning up Shiro Environment
19-Oct-2018 00:08:11.123 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
19-Oct-2018 00:08:11.124 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
19-Oct-2018 00:08:11.124 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Thread-6] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.DelayQueue.take(DelayQueue.java:211)
java.util.concurrent.DelayQueue.take(DelayQueue.java:70)
com.kikini.logging.simpledb.SimpleDBConsumer.run(SimpleDBConsumer.java:45)
java.lang.Thread.run(Thread.java:745)
19-Oct-2018 00:08:11.125 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:41)
19-Oct-2018 00:08:11.125 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [TracePostProcessorQueueHandler] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Thread.sleep(Native Method)
java.lang.Thread.sleep(Thread.java:340)
java.util.concurrent.TimeUnit.sleep(TimeUnit.java:386)
com.stackify.apm.profiler.a.e$2.run(Unknown Source)
java.lang.Thread.run(Thread.java:745)
19-Oct-2018 00:08:11.126 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [StackifyTraceLinkCleanupThread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Thread.sleep(Native Method)
java.lang.Thread.sleep(Thread.java:340)
java.util.concurrent.TimeUnit.sleep(TimeUnit.java:386)
com.stackify.apm.profiler.a.a$4.run(Unknown Source)
java.lang.Thread.run(Thread.java:745)
19-Oct-2018 00:08:11.127 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ROOT] created a ThreadLocal with key of type [org.jsoup.helper.StringUtil$1] (value [org.jsoup.helper.StringUtil$1@f20c726]) and a value of type [java.lang.StringBuilder] ...
Если это проблема, связанная с Джерси, то, вероятно, у DataDog и NewRelic была похожая проблемадо;
Я также активировал журнал FINE на Tomcat (добавлен .level = FINE в /etc/tomcat8/logging.properties) и просматривал журнал Tomcatвыполнение останавливается на;
22-Oct-2018 21:49:50.171 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findResource findResource(javax/persistence/spi/PersistenceProviderResolverHolder.class)
22-Oct-2018 21:49:50.171 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findResource --> Returning 'jar:file:/var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar!/javax/persistence/spi/PersistenceProviderResolverHolder.class'
22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.getResource --> Returning 'jar:file:/var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar!/javax/persistence/spi/PersistenceProviderResolverHolder.class'
22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream getResourceAsStream(javax/persistence/spi/PersistenceProviderResolverHolder.class)
22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream --> Returning stream from cache
22-Oct-2018 21:49:50.172 FINE [Thread-8] org.apache.catalina.loader.WebappClassLoaderBase.getResource getResource(java/nio/file/Path.class)
22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass Loading class from local repository
22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass loadClass(javax.persistence.spi.PersistenceProviderResolver, false)
22-Oct-2018 21:49:50.173 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass Searching local repositories
22-Oct-2018 21:49:50.173 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findClass findClass(javax.persistence.spi.PersistenceProviderResolver)
Затем я проанализировал использование памяти и размер кучи Java, но не нашел ничего подозрительного.
Затем я попытался получить дамп потока и заметилчто в Retrace есть потенциальная ошибка, так как два потока блокируют друг друга.Ниже приведен анализ дампа потока fastthread.io:
Application is suffering from deadlock. Below are the threads which are causing deadlock
Thread-8 is in deadlock with localhost-startStop-1
Thread-8 - priority:5 - threadId:0x00007f589d57c000 - nativeId:0x7b11 - state:BLOCKED
stackTrace:
java.lang.Thread.State: BLOCKED (on object monitor)
at org.apache.catalina.loader.WebappClassLoaderBase.filter(WebappClassLoaderBase.java:2775)
- waiting to lock <0x00000006e5ad0a48> (a org.apache.catalina.loader.WebappClassLoader)
at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1033)
at com.stackify.bundled.javassist.LoaderClassPath.find(Unknown Source)
at com.stackify.bundled.javassist.ClassPoolTail.find(Unknown Source)
at com.stackify.bundled.javassist.ClassPool.find(Unknown Source)
at com.stackify.bundled.javassist.ClassPool.createCtClass(Unknown Source)
at com.stackify.bundled.javassist.ClassPool.get0(Unknown Source)
- locked <0x00000006e55cacd8> (a com.stackify.bundled.javassist.ClassPool)
at com.stackify.bundled.javassist.ClassPool.get(Unknown Source)
at com.stackify.bundled.javassist.CtClassType.getInterfaces(Unknown Source)
at com.stackify.apm.javassist.a.b(Unknown Source)
at com.stackify.apm.javassist.a.<init>(Unknown Source)
at com.stackify.apm.javassist.a.<init>(Unknown Source)
at com.stackify.apm.javassist.e.a(Unknown Source)
at com.stackify.apm.javassist.f.a(Unknown Source)
at com.stackify.apm.javassist.c.transform(Unknown Source)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
at sun.misc.Unsafe.defineAnonymousClass(Native Method)
at java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass(InnerClassLambdaMetafactory.java:326)
at java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite(InnerClassLambdaMetafactory.java:194)
at java.lang.invoke.LambdaMetafactory.metafactory(LambdaMetafactory.java:304)
at java.lang.invoke.LambdaForm$DMH/1287071204.invokeStatic_L6_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$BMH/2100450555.reinvoke(LambdaForm$BMH)
at java.lang.invoke.LambdaForm$MH/1996378445.invoke_MT(LambdaForm$MH)
at java.lang.invoke.CallSite.makeSite(CallSite.java:302)
at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:307)
at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:297)
at com.###.common.data.CustomerFacade.getAllCustomerInternalIdentifiers(CustomerFacade.java:70)
at com.###.common.ConfigurationHierarchyCacheHandler.getCustomerInternalIds(ConfigurationHierarchyCacheHandler.java:214)
at com.###.common.ConfigurationHierarchyCacheHandler.getApplicableKeys(ConfigurationHierarchyCacheHandler.java:359)
at com.###.common.ConfigurationHierarchyCacheHandler.refreshLocalCache(ConfigurationHierarchyCacheHandler.java:202)
at com.###.common.ConfigurationHierarchyCacheHandler.forceRefreshLocalCacheSync(ConfigurationHierarchyCacheHandler.java:194)
at com.###.common.ConfigurationHierarchyCacheHandler$$Lambda$166/382627531.run(Unknown Source)
at com.###.util.MDCRetainingRunnable.run(MDCRetainingRunnable.java:39)
at com.###.util.MDCRetainingRunnable.run(MDCRetainingRunnable.java:39)
at java.lang.Thread.run(Thread.java:745)
Locked ownable synchronizers:
- None
localhost-startStop-1 - priority:5 - threadId:0x00007f58b800c800 - nativeId:0x7af6 - state:BLOCKED
stackTrace:
java.lang.Thread.State: BLOCKED (on object monitor)
at com.stackify.bundled.javassist.ClassPool.get0(Unknown Source)
- waiting to lock <0x00000006e55cacd8> (a com.stackify.bundled.javassist.ClassPool)
at com.stackify.bundled.javassist.ClassPool.get(Unknown Source)
at com.stackify.bundled.javassist.CtClassType.getInterfaces(Unknown Source)
at com.stackify.apm.javassist.a.b(Unknown Source)
at com.stackify.apm.javassist.a.<init>(Unknown Source)
at com.stackify.apm.javassist.a.<init>(Unknown Source)
at com.stackify.apm.javassist.e.a(Unknown Source)
at com.stackify.apm.javassist.f.a(Unknown Source)
at com.stackify.apm.javassist.c.transform(Unknown Source)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2496)
- locked <0x00000006e5ad0a48> (a org.apache.catalina.loader.WebappClassLoader)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:860)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1302)
- locked <0x00000006e5ad0a48> (a org.apache.catalina.loader.WebappClassLoader)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
at org.hibernate.jpa.HibernatePersistenceProvider.<clinit>(HibernatePersistenceProvider.java:38)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at javax.persistence.spi.PersistenceProviderResolverHolder$PersistenceProviderResolverPerClassLoader$CachingPersistenceProviderResolver.getPersistenceProviders(PersistenceProviderResolverHolder.java:177)
- locked <0x00000006e21cac88> (a java.util.ArrayList)
at javax.persistence.spi.PersistenceProviderResolverHolder$PersistenceProviderResolverPerClassLoader.getPersistenceProviders(PersistenceProviderResolverHolder.java:84)
at javax.persistence.Persistence.getProviders(Persistence.java:69)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:53)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at com.###.common.MyEntityManagerFactory.createEntityManager(MyEntityManagerFactory.java:30)
- locked <0x00000006e21caf18> (a java.lang.Class for com.###.common.MyEntityManagerFactory)
at com.***.forms.data.ConfigurationHierarchyPackageSelector.createEntityManager(ConfigurationHierarchyPackageSelector.java:572)
at com.***.forms.data.ConfigurationHierarchyPackageSelector.getAllCustomerPackages(ConfigurationHierarchyPackageSelector.java:469)
at com.***.fieldticketing.data.FieldTicketStartupService.cacheInstalledPackagesLocally(FieldTicketStartupService.java:130)
at com.***.fieldticketing.data.FieldTicketStartupService.startup(FieldTicketStartupService.java:102)
at com.***.servlet.IVWServletContextListener.contextInitialized(IVWServletContextListener.java:24)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
- locked <0x00000006e48adfb8> (a org.apache.catalina.core.StandardContext)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
- locked <0x00000006e48adfb8> (a org.apache.catalina.core.StandardContext)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1101)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Locked ownable synchronizers:
- <0x00000006e4a25700> (a java.util.concurrent.ThreadPoolExecutor$Worker)
В обоих файлах CustomerFacade.java:70 и ConfigurationHierarchyPackageSelector.java:572 я блокирую объект в классе MyEntityManagerFactory для создания экземпляра EntityManagerFactory.вручную.Возвращаясь к журналу tomcat, tomcat случайным образом останавливает ведение журнала в одном из классов, связанных с постоянством.
Тогда я предполагаю, что в Retrace есть ошибка, которая не может эффективно обрабатывать блокировки.
Я быЦеню любые отзывы.