2016-08-09 23 views
0

私はSpringブートとEhcacheを使ってプロジェクトを開発しています。スプリングブートがEhcacheを初期化しない

Junitを使用してこのプロジェクトの1つのメソッドを実行すると、Ehcacheが完全に初期化されていることがわかります。

20:08:27.346 [main] INFO org.springframework.cache.ehcache.EhCacheManagerFactoryBean - Initializing EhCache CacheManager 
20:08:27.348 [main] DEBUG net.sf.ehcache.config.ConfigurationFactory - Configuring ehcache from InputStream 
20:08:27.361 [main] DEBUG net.sf.ehcache.config.BeanHandler - Ignoring ehcache attribute xmlns:xsi 
20:08:27.362 [main] DEBUG net.sf.ehcache.config.BeanHandler - Ignoring ehcache attribute xsi:noNamespaceSchemaLocation 
20:08:27.363 [main] DEBUG net.sf.ehcache.config.DiskStoreConfiguration - Disk Store Path: C:\TEMP\ 
20:08:27.378 [main] DEBUG net.sf.ehcache.CacheManager - Creating new CacheManager with Configuration Object 
20:08:27.379 [main] DEBUG net.sf.ehcache.util.PropertyUtil - propertiesString is null. 
20:08:27.388 [main] DEBUG net.sf.ehcache.config.ConfigurationHelper - No CacheManagerEventListenerFactory class specified. Skipping... 
20:08:27.437 [main] DEBUG net.sf.ehcache.Cache - No BootstrapCacheLoaderFactory class specified. Skipping... 
20:08:27.437 [main] DEBUG net.sf.ehcache.Cache - CacheWriter factory not configured. Skipping... 
20:08:27.437 [main] DEBUG net.sf.ehcache.config.ConfigurationHelper - No CacheExceptionHandlerFactory class specified. Skipping... 
20:08:27.451 [main] DEBUG net.sf.ehcache.store.MemoryStore - Initialized net.sf.ehcache.store.MemoryStore for rrr1 
20:08:27.476 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Pass-Through Statistic: LOCAL_OFFHEAP_SIZE 
20:08:27.476 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Pass-Through Statistic: LOCAL_OFFHEAP_SIZE_BYTES 
20:08:27.476 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Pass-Through Statistic: LOCAL_DISK_SIZE 
20:08:27.476 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Pass-Through Statistic: LOCAL_DISK_SIZE_BYTES 
20:08:27.477 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Pass-Through Statistic: WRITER_QUEUE_LENGTH 
20:08:27.477 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Pass-Through Statistic: REMOTE_SIZE 
20:08:27.477 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Pass-Through Statistic: LAST_REJOIN_TIMESTAMP 
20:08:27.487 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: OFFHEAP_GET 
20:08:27.487 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: OFFHEAP_PUT 
20:08:27.487 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: OFFHEAP_REMOVE 
20:08:27.488 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: DISK_GET 
20:08:27.488 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: DISK_PUT 
20:08:27.488 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: DISK_REMOVE 
20:08:27.488 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: XA_COMMIT 
20:08:27.488 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: XA_ROLLBACK 
20:08:27.488 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: XA_RECOVERY 
20:08:27.489 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: CLUSTER_EVENT 
20:08:27.489 [main] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: NONSTOP 
20:08:27.495 [main] DEBUG net.sf.ehcache.Cache - Initialised cache: rrr1 
20:08:27.495 [main] DEBUG net.sf.ehcache.config.ConfigurationHelper - CacheDecoratorFactory not configured. Skipping for 'rrr1'. 
20:08:27.495 [main] DEBUG net.sf.ehcache.config.ConfigurationHelper - CacheDecoratorFactory not configured for defaultCache. Skipping for 'rrr1'. 

しかし、同じプロジェクトでSpring Bootを使用すると、完全に初期化されたEhcaheは表示されません。 LOCAL_OFFHEAP_SIZE_BYTES 統計:

2016-08-09 20:01:20.532 INFO 20200 --- [   main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ 
    name: JpaPersistenceUnit 
    ...] 
2016-08-09 20:01:20.599 INFO 20200 --- [   main] org.hibernate.Version     : HHH000412: Hibernate Core {5.1.0.Final} 
2016-08-09 20:01:20.601 INFO 20200 --- [   main] org.hibernate.cfg.Environment   : HHH000206: hibernate.properties not found 
2016-08-09 20:01:20.602 INFO 20200 --- [   main] org.hibernate.cfg.Environment   : HHH000021: Bytecode provider name : javassist 
2016-08-09 20:01:20.733 INFO 20200 --- [   main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final} 
2016-08-09 20:01:21.014 INFO 20200 --- [   main] org.hibernate.dialect.Dialect   : HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect 
2016-08-09 20:01:21.904 INFO 20200 --- [   main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'JpaPersistenceUnit' 
2016-08-09 20:01:22.185 INFO 20200 --- [   main] o.s.c.ehcache.EhCacheManagerFactoryBean : Initializing EhCache CacheManager 
2016-08-09 20:01:22.803 INFO 20200 --- [   main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot[email protected]515c6049: startup date [Tue Aug 09 20:01:17 NOVT 2016]; root of context hierarchy 
2016-08-09 20:01:22.879 DEBUG 20200 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking for request mappings in application context: org.springframework.boot[email protected]515c6049: startup date [Tue Aug 09 20:01:17 NOVT 2016]; root of context hierarchy 
2016-08-09 20:01:22.891 DEBUG 20200 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 request handler methods found on class com.ric.web.GreetingController: {public java.lang.String com.ric.web.GreetingController.greeting(java.lang.String)={[/greeting]}} 
2016-08-09 20:01:22.891 INFO 20200 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/greeting]}" onto public java.lang.String com.ric.web.GreetingController.greeting(java.lang.String) 
2016-08-09 20:01:22.894 DEBUG 20200 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : 2 request handler methods found on class org.springframework.boot.autoconfigure.web.BasicErrorController: {public org.springframework.http.ResponseEntity org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)={[/error]}, public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)={[/error],produces=[text/html]}} 
2016-08-09 20:01:22.895 INFO 20200 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 
2016-08-09 20:01:22.895 INFO 20200 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 
2016-08-09 20:01:22.945 DEBUG 20200 --- [   main] o.s.w.s.h.BeanNameUrlHandlerMapping  : 

私は春のブートを使用する場合、私は 統計を持つ任意の行が表示されないLOCAL_DISK_SIZEを 統計:またLOCAL_DISK_SIZE_BYTES

私は私のキャッシュのディスクストアのパスが表示されませんディスクストアのパス:C:\ TEMP \

ログ設定は実行ごとに同じです。

どうしてですか?

春のブートモジュール:

AppConfig.java:

@Configuration 
@ComponentScan({"com.ric.bill"}) 
@ImportResource("spring.xml") 
@EnableCaching 
public class AppConfig { 



} 

BillWebApplication.java:

@SpringBootApplication 
@EnableCaching 
public class BillWebApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(BillWebApplication.class, args); 
    } 
} 

Ehcache.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:noNamespaceSchemaLocation="ehcache.xsd"> 


    <diskStore path="java.io.tmpdir"/> 

    <cache name="rrr1" 
     maxElementsInMemory="500000" 
     eternal="true" 
     overflowToDisk="false" 
     memoryStoreEvictionPolicy="LRU"> 
    </cache> 

</ehcache> 

application.properties:

logging.level.org.springframework.web: DEBUG 
logging.level.org.hibernate: INFO 

log4j.properties:

log4j.rootLogger=info, console 

log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

spring.xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:cache="http://www.springframework.org/schema/cache" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.0.xsd 
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.2.xsd"> 

    <!-- ******************************* 
     ***** CACHE CONFIGURATION ***** 
     ******************************* -->     
     <cache:annotation-driven cache-manager="cacheManager" /> 

    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"> 
     <property name="cacheManager" ref="ehcache"/> 
    </bean> 
    <bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
     <property name="configLocation" value="classpath:ehcache.xml"/> 
     <property name="shared" value="true"/> 
    </bean> 

    <bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close"> 
      <property name="URL" value="jdbc:oracle:thin:@192.168.100.92:1521:DEVDB" /> 
      <property name="user" value="lev"/> 
      <property name="password" value="testtest1"/> 
      <property name="connectionCachingEnabled" value="true"/> 
    </bean> 

    <bean 
     class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" 
     id="entityManagerFactory"> 
     <property name="dataSource" ref="dataSource" /> 
    </bean> 

    <context:component-scan base-package="com.ric.bill" /> 
    <context:component-scan base-package="com.ric.bill.dao.impl" /> 
    <context:component-scan base-package="com.ric.bill.mm.impl" /> 


    <bean class="org.springframework.orm.jpa.JpaTransactionManager" 
     id="transactionManager"> 
     <property name="entityManagerFactory" ref="entityManagerFactory" /> 
    </bean> 

<tx:annotation-driven mode="proxy" transaction-manager="transactionManager"/> 

    <context:spring-configured /> 
    <context:annotation-config /> 


</beans> 

答えて

3

ログ設定

各実行のための異なるフォーマットと同じです出力は私にそれがないと伝えますケース。

デフォルトでは、単体テストではルートログレベルとしてDEBUGが使用されます。ここでは、Springブートアプリケーションを起動するときのデフォルトのログレベルは、INFOとapplication.propertiesで行ったカスタム化です。たとえば、構成のためにorg.springframework.webのDEBUGメッセージが表示されます。あなたがあなたのアプリを起動したときにehcacheからのデバッグメッセージを表示したい場合は

、更新あなたのapplication.properties

logging.level.org.springframework.web: DEBUG 
logging.level.org.hibernate: INFO 
logging.level.net.sf.ehcache: DEBUG 
関連する問題