我有一个Spring启动应用程序,它使用ehcache将查询缓存到db。 如果我在缓存配置中指定最大条目数,则可以正常工作。 但是,如果我提供了我的缓存的最大大小(我想要的),它的行为方式:
有趣的是,堆栈跟踪的最后一个日志是:
at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:100)
仅供参考我在Windows win7主机上的虚拟机(虚拟机)中运行Centos 6。
在裸机服务器上的Centos 7上的[更新],没有错误日志,但是当它应该关闭并且同一个线程转储时仍然挂起如何修复该错误?作为一种解决方法,我必须强制关闭应用程序(使用applicationContext.close()或终止进程。
当应用程序完成其工作时的线程转储,应该关闭但由于ehcache缓存专用线程而卡住
具有固定内存大小的配置(不工作)
@Configuration
@EnableCaching
public class CachingConfig implements CachingConfigurer {
@Bean
CacheConfiguration foreNameDemographicStatsCacheConfiguration(){
CacheConfiguration cacheConfiguration = new CacheConfiguration();
cacheConfiguration.setName("foreNameDemographicStats");
return cacheConfiguration;
}
@Bean(destroyMethod="shutdown")
public net.sf.ehcache.CacheManager ehCacheManager() {
net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration();
config.setMaxBytesLocalHeap("40%");
config.setMaxBytesLocalDisk("1G");
config.addCache(familyNameDemographicStatsCacheConfiguration());
return net.sf.ehcache.CacheManager.newInstance(config);
}
@Bean
@Override
public CacheManager cacheManager() {
return new EhCacheCacheManager(ehCacheManager());
}
@Override
public CacheResolver cacheResolver() {
return null;
}
@Bean
@Override
public KeyGenerator keyGenerator() {
return new SimpleKeyGenerator();
}
@Override
public CacheErrorHandler errorHandler() {
return null;
}
}
具有固定元素大小(工作)的配置
private Integer maxEntriesLocalHeap=100000;
@Bean
CacheConfiguration foreNameDemographicStatsCacheConfiguration(){
CacheConfiguration cacheConfiguration = new CacheConfiguration();
cacheConfiguration.setName("foreNameDemographicStats");
cacheConfiguration.setMaxEntriesLocalHeap(maxEntriesLocalHeap);
return cacheConfiguration;
}
@Bean(destroyMethod="shutdown")
public net.sf.ehcache.CacheManager ehCacheManager() {
net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration();
config.addCache(familyNameDemographicStatsCacheConfiguration());
return net.sf.ehcache.CacheManager.newInstance(config);
}
启动应用程序时记录:
2016-06-29 19:11:09
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):
"Monitor Ctrl-Break" #14 daemon prio=5 os_prio=0 tid=0x00007f8714984000 nid=0x4621 runnable [0x00007f8700f62000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:90)
at java.lang.Thread.run(Thread.java:745)
"_jprofiler_control_sampler" #5 daemon prio=5 os_prio=0 tid=0x00007f86d0026800 nid=0x4616 waiting on condition [0x00007f8700421000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.__ejt_nmp_sleep(Native Method)
at java.lang.Thread.sleep(Thread.java)
at com.jprofiler.agent.probe.y.run(ejt:1030)
"Service Thread" #13 daemon prio=9 os_prio=0 tid=0x00007f87146c6800 nid=0x4614 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread2" #12 daemon prio=9 os_prio=0 tid=0x00007f871467c000 nid=0x4613 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #11 daemon prio=9 os_prio=0 tid=0x00007f8714679800 nid=0x4612 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #10 daemon prio=9 os_prio=0 tid=0x00007f8714678000 nid=0x4611 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"_jprofiler_native_sampler" #9 daemon prio=10 os_prio=0 tid=0x00007f86c8012800 nid=0x4610 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"_jprofiler_native_comm" #8 daemon prio=5 os_prio=0 tid=0x00007f8714676800 nid=0x45ad runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"_jprofiler_sampler" #7 daemon prio=10 os_prio=0 tid=0x00007f8714674800 nid=0x45ac waiting on condition [0x00007f8700e61000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.__ejt_nmp_sleep(Native Method)
at java.lang.Thread.sleep(Thread.java)
at com.jprofiler.agent.sampler.Sampler.run(ejt:84)
"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f8714410800 nid=0x45a8 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f87142e1000 nid=0x4550 in Object.wait() [0x00007f8701164000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000078ad31320> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x000000078ad31320> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f87142dd800 nid=0x4548 in Object.wait() [0x00007f8701265000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000078ad314d8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
- locked <0x000000078ad314d8> (a java.lang.ref.Reference$Lock)
"main" #1 prio=5 os_prio=0 tid=0x00007f8714094800 nid=0x44fd waiting on condition [0x00007f87185c4000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.__ejt_nmp_sleep(Native Method)
at java.lang.Thread.sleep(Thread.java)
at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:100)
at sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:208)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.sf.ehcache.pool.sizeof.AgentLoader.loadAgent(AgentLoader.java:135)
- locked <0x0000000788518988> (a java.lang.String)
at net.sf.ehcache.pool.sizeof.AgentSizeOf.<clinit>(AgentSizeOf.java:38)
at net.sf.ehcache.pool.impl.DefaultSizeOfEngine.<init>(DefaultSizeOfEngine.java:109)
at net.sf.ehcache.pool.SizeOfEngineLoader.createSizeOfEngine(SizeOfEngineLoader.java:71)
at net.sf.ehcache.pool.SizeOfEngineLoader.newSizeOfEngine(SizeOfEngineLoader.java:59)
at net.sf.ehcache.CacheManager.createSizeOfEngine(CacheManager.java:2081)
at net.sf.ehcache.CacheManager.doInit(CacheManager.java:453)
at net.sf.ehcache.CacheManager.init(CacheManager.java:395)
- locked <0x00000007883d6020> (a net.sf.ehcache.CacheManager)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:270)
at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1116)
- locked <0x000000078ae1bca8> (a java.lang.Class for net.sf.ehcache.CacheManager)
at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1092)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig.ehCacheManager(CachingConfig.java:75)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.CGLIB$ehCacheManager$4(<generated>)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c$$FastClassBySpringCGLIB$$8728f995.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.ehCacheManager(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:591)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1006)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
- locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:324)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.ehCacheManager(<generated>)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig.cacheManager(CachingConfig.java:81)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.CGLIB$cacheManager$2(<generated>)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c$$FastClassBySpringCGLIB$$8728f995.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.cacheManager(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:591)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1006)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
- locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:324)
at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.cacheManager(<generated>)
at org.springframework.cache.annotation.AbstractCachingConfiguration.useCachingConfigurer(AbstractCachingConfiguration.java:84)
at org.springframework.cache.annotation.AbstractCachingConfiguration.setConfigurers(AbstractCachingConfiguration.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1202)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
- locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:371)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1006)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
- locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:92)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:101)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:330)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:293)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1571)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
- locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
- locked <0x000000078ad31fe8> (a java.lang.Object)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at uk.gov.nationalarchives.ttt.linker.TTT.resetContext(TTT.java:223)
at uk.gov.nationalarchives.ttt.linker.TTT.main(TTT.java:146)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
"VM Thread" os_prio=0 tid=0x00007f87142b2000 nid=0x4543 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f87140a9800 nid=0x450e runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f87140ab800 nid=0x4510 runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f87140ad000 nid=0x4511 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f87140af000 nid=0x4512 runnable
"VM Periodic Task Thread" os_prio=0 tid=0x00007f87146c9000 nid=0x4615 waiting on condition
JNI global references: 3293
Heap
PSYoungGen total 50688K, used 22084K [0x0000000787b80000, 0x000000078b400000, 0x00000007c0000000)
eden space 43520K, 36% used [0x0000000787b80000,0x0000000788aeefb8,0x000000078a600000)
from space 7168K, 87% used [0x000000078ad00000,0x000000078b322398,0x000000078b400000)
to space 7168K, 0% used [0x000000078a600000,0x000000078a600000,0x000000078ad00000)
ParOldGen total 116224K, used 80K [0x0000000717200000, 0x000000071e380000, 0x0000000787b80000)
object space 116224K, 0% used [0x0000000717200000,0x0000000717214010,0x000000071e380000)
Metaspace used 17988K, capacity 18134K, committed 18304K, reserved 1064960K
class space used 2127K, capacity 2150K, committed 2176K, reserved 1048576K
2016-06-29 19:11:15 INFO MongoConfiguration$$EnhancerBySpringCGLIB$$140b561:73 - using Mongo database: localhost:27017/ttt
2016-06-29 19:11:17 INFO TTTService:75 - start TTT Process
的指导原则