HHH-12649 Move the created cache warning to org.hibernate.cache.spi.SecondLevelCacheLogger
This commit is contained in:
parent
033203abc7
commit
2649e1372c
|
@ -72,4 +72,14 @@ public interface SecondLevelCacheLogger extends BasicLogger {
|
||||||
)
|
)
|
||||||
void softLockedCacheExpired(String regionName, Object key);
|
void softLockedCacheExpired(String regionName, Object key);
|
||||||
|
|
||||||
|
@LogMessage(level = WARN)
|
||||||
|
@Message(
|
||||||
|
value = "Missing cache[%1$s] was created on-the-fly." +
|
||||||
|
" The created cache will use a provider-specific default configuration:" +
|
||||||
|
" make sure you defined one." +
|
||||||
|
" You can disable this warning by setting '%2$s' to '%3$s'.",
|
||||||
|
id = NAMESPACE + 6
|
||||||
|
)
|
||||||
|
void missingCacheCreated(String regionName, String configurationPropertyToDisableKey, String configurationPropertyToDisableValue);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,10 @@ public enum MissingCacheStrategy {
|
||||||
this.externalRepresentation = externalRepresentation;
|
this.externalRepresentation = externalRepresentation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getExternalRepresentation() {
|
||||||
|
return externalRepresentation;
|
||||||
|
}
|
||||||
|
|
||||||
public static MissingCacheStrategy interpretSetting(Object value) {
|
public static MissingCacheStrategy interpretSetting(Object value) {
|
||||||
if ( value instanceof MissingCacheStrategy ) {
|
if ( value instanceof MissingCacheStrategy ) {
|
||||||
return (MissingCacheStrategy) value;
|
return (MissingCacheStrategy) value;
|
||||||
|
|
|
@ -113,15 +113,4 @@ public interface EhCacheMessageLogger extends CoreMessageLogger {
|
||||||
)
|
)
|
||||||
void softLockedCacheExpired(String regionName, Object key, String lock);
|
void softLockedCacheExpired(String regionName, Object key, String lock);
|
||||||
|
|
||||||
@LogMessage(level = WARN)
|
|
||||||
@Message(
|
|
||||||
value = "Missing cache[%s] was created on-the-fly." +
|
|
||||||
" The created cache will use the <defaultCache> configuration: " +
|
|
||||||
" make sure to configure it." +
|
|
||||||
" You can disable this warning by setting '" + ConfigSettings.MISSING_CACHE_STRATEGY +
|
|
||||||
"' to 'create'.",
|
|
||||||
id = 20009
|
|
||||||
)
|
|
||||||
void missingCacheCreated(String regionName);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,14 +24,13 @@ import org.hibernate.cache.ehcache.ConfigSettings;
|
||||||
import org.hibernate.cache.ehcache.MissingCacheStrategy;
|
import org.hibernate.cache.ehcache.MissingCacheStrategy;
|
||||||
import org.hibernate.cache.internal.DefaultCacheKeysFactory;
|
import org.hibernate.cache.internal.DefaultCacheKeysFactory;
|
||||||
import org.hibernate.cache.spi.CacheKeysFactory;
|
import org.hibernate.cache.spi.CacheKeysFactory;
|
||||||
|
import org.hibernate.cache.spi.SecondLevelCacheLogger;
|
||||||
import org.hibernate.cache.spi.support.DomainDataStorageAccess;
|
import org.hibernate.cache.spi.support.DomainDataStorageAccess;
|
||||||
import org.hibernate.cache.spi.support.RegionFactoryTemplate;
|
import org.hibernate.cache.spi.support.RegionFactoryTemplate;
|
||||||
import org.hibernate.cache.spi.support.RegionNameQualifier;
|
import org.hibernate.cache.spi.support.RegionNameQualifier;
|
||||||
import org.hibernate.cache.spi.support.StorageAccess;
|
import org.hibernate.cache.spi.support.StorageAccess;
|
||||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
|
|
||||||
import static org.hibernate.cache.ehcache.ConfigSettings.EHCACHE_CONFIGURATION_RESOURCE_NAME;
|
import static org.hibernate.cache.ehcache.ConfigSettings.EHCACHE_CONFIGURATION_RESOURCE_NAME;
|
||||||
import static org.hibernate.cache.ehcache.internal.HibernateEhcacheUtils.setCacheManagerNameIfNeeded;
|
import static org.hibernate.cache.ehcache.internal.HibernateEhcacheUtils.setCacheManagerNameIfNeeded;
|
||||||
|
|
||||||
|
@ -107,7 +106,10 @@ public class EhcacheRegionFactory extends RegionFactoryTemplate {
|
||||||
protected Cache createCache(String regionName) {
|
protected Cache createCache(String regionName) {
|
||||||
switch ( missingCacheStrategy ) {
|
switch ( missingCacheStrategy ) {
|
||||||
case CREATE_WARN:
|
case CREATE_WARN:
|
||||||
LOG.missingCacheCreated( regionName );
|
SecondLevelCacheLogger.INSTANCE.missingCacheCreated(
|
||||||
|
regionName,
|
||||||
|
ConfigSettings.MISSING_CACHE_STRATEGY, MissingCacheStrategy.CREATE.getExternalRepresentation()
|
||||||
|
);
|
||||||
cacheManager.addCache( regionName );
|
cacheManager.addCache( regionName );
|
||||||
return cacheManager.getCache( regionName );
|
return cacheManager.getCache( regionName );
|
||||||
case CREATE:
|
case CREATE:
|
||||||
|
|
|
@ -13,7 +13,7 @@ import java.util.function.Consumer;
|
||||||
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
|
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
|
||||||
import org.hibernate.cache.CacheException;
|
import org.hibernate.cache.CacheException;
|
||||||
import org.hibernate.cache.ehcache.ConfigSettings;
|
import org.hibernate.cache.ehcache.ConfigSettings;
|
||||||
import org.hibernate.cache.ehcache.internal.EhCacheMessageLogger;
|
import org.hibernate.cache.spi.SecondLevelCacheLogger;
|
||||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||||
import org.hibernate.service.spi.ServiceException;
|
import org.hibernate.service.spi.ServiceException;
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ import static org.junit.Assert.fail;
|
||||||
public class MissingCacheStrategyTest extends BaseUnitTestCase {
|
public class MissingCacheStrategyTest extends BaseUnitTestCase {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public LoggerInspectionRule logInspection = new LoggerInspectionRule( EhCacheMessageLogger.INSTANCE );
|
public LoggerInspectionRule logInspection = new LoggerInspectionRule( SecondLevelCacheLogger.INSTANCE );
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMissingCacheStrategyDefault() {
|
public void testMissingCacheStrategyDefault() {
|
||||||
|
@ -103,7 +103,7 @@ public class MissingCacheStrategyTest extends BaseUnitTestCase {
|
||||||
triggerables.put(
|
triggerables.put(
|
||||||
regionName,
|
regionName,
|
||||||
logInspection.watchForLogMessages(
|
logInspection.watchForLogMessages(
|
||||||
"HHH020009: Missing cache[" + TestHelper.prefix( regionName ) + "] was created on-the-fly"
|
"HHH90001006: Missing cache[" + TestHelper.prefix( regionName ) + "] was created on-the-fly"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,10 @@ public enum MissingCacheStrategy {
|
||||||
this.externalRepresentation = externalRepresentation;
|
this.externalRepresentation = externalRepresentation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getExternalRepresentation() {
|
||||||
|
return externalRepresentation;
|
||||||
|
}
|
||||||
|
|
||||||
public static MissingCacheStrategy interpretSetting(Object value) {
|
public static MissingCacheStrategy interpretSetting(Object value) {
|
||||||
if ( value instanceof MissingCacheStrategy ) {
|
if ( value instanceof MissingCacheStrategy ) {
|
||||||
return (MissingCacheStrategy) value;
|
return (MissingCacheStrategy) value;
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
|
|
||||||
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
|
|
||||||
*/
|
|
||||||
package org.hibernate.cache.jcache.internal;
|
|
||||||
|
|
||||||
|
|
||||||
import org.hibernate.cache.jcache.ConfigSettings;
|
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
|
||||||
import org.jboss.logging.annotations.LogMessage;
|
|
||||||
import org.jboss.logging.annotations.Message;
|
|
||||||
import org.jboss.logging.annotations.MessageLogger;
|
|
||||||
import org.jboss.logging.annotations.ValidIdRange;
|
|
||||||
|
|
||||||
import static org.jboss.logging.Logger.Level.WARN;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The jboss-logging {@link MessageLogger} for the hibernate-jcache module. It reserves message ids ranging from
|
|
||||||
* 25099 to 25099 inclusively.
|
|
||||||
* <p/>
|
|
||||||
* New messages must be added after the last message defined to ensure message codes are unique.
|
|
||||||
*/
|
|
||||||
@MessageLogger(projectCode = "HHH")
|
|
||||||
@ValidIdRange(min = 25001, max = 25099)
|
|
||||||
public interface JCacheMessageLogger extends CoreMessageLogger {
|
|
||||||
JCacheMessageLogger INSTANCE = Logger.getMessageLogger(
|
|
||||||
JCacheMessageLogger.class,
|
|
||||||
"org.hibernate.orm.javax.cache"
|
|
||||||
);
|
|
||||||
|
|
||||||
@LogMessage(level = WARN)
|
|
||||||
@Message(
|
|
||||||
value = "Missing cache[%s] was created on-the-fly." +
|
|
||||||
" The created cache will use a provider-specific default configuration:" +
|
|
||||||
" make sure you defined one." +
|
|
||||||
" You can disable this warning by setting '" + ConfigSettings.MISSING_CACHE_STRATEGY +
|
|
||||||
"' to 'create'.",
|
|
||||||
id = 25001
|
|
||||||
)
|
|
||||||
void missingCacheCreated(String regionName);
|
|
||||||
|
|
||||||
}
|
|
|
@ -24,6 +24,7 @@ import org.hibernate.cache.internal.DefaultCacheKeysFactory;
|
||||||
import org.hibernate.cache.jcache.ConfigSettings;
|
import org.hibernate.cache.jcache.ConfigSettings;
|
||||||
import org.hibernate.cache.jcache.MissingCacheStrategy;
|
import org.hibernate.cache.jcache.MissingCacheStrategy;
|
||||||
import org.hibernate.cache.spi.CacheKeysFactory;
|
import org.hibernate.cache.spi.CacheKeysFactory;
|
||||||
|
import org.hibernate.cache.spi.SecondLevelCacheLogger;
|
||||||
import org.hibernate.cache.spi.support.DomainDataStorageAccess;
|
import org.hibernate.cache.spi.support.DomainDataStorageAccess;
|
||||||
import org.hibernate.cache.spi.support.RegionFactoryTemplate;
|
import org.hibernate.cache.spi.support.RegionFactoryTemplate;
|
||||||
import org.hibernate.cache.spi.support.RegionNameQualifier;
|
import org.hibernate.cache.spi.support.RegionNameQualifier;
|
||||||
|
@ -34,8 +35,6 @@ import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||||
* @author Alex Snaps
|
* @author Alex Snaps
|
||||||
*/
|
*/
|
||||||
public class JCacheRegionFactory extends RegionFactoryTemplate {
|
public class JCacheRegionFactory extends RegionFactoryTemplate {
|
||||||
private static final JCacheMessageLogger LOG = JCacheMessageLogger.INSTANCE;
|
|
||||||
|
|
||||||
private final CacheKeysFactory cacheKeysFactory;
|
private final CacheKeysFactory cacheKeysFactory;
|
||||||
|
|
||||||
private volatile CacheManager cacheManager;
|
private volatile CacheManager cacheManager;
|
||||||
|
@ -90,7 +89,10 @@ public class JCacheRegionFactory extends RegionFactoryTemplate {
|
||||||
protected Cache<Object, Object> createCache(String regionName) {
|
protected Cache<Object, Object> createCache(String regionName) {
|
||||||
switch ( missingCacheStrategy ) {
|
switch ( missingCacheStrategy ) {
|
||||||
case CREATE_WARN:
|
case CREATE_WARN:
|
||||||
LOG.missingCacheCreated( regionName );
|
SecondLevelCacheLogger.INSTANCE.missingCacheCreated(
|
||||||
|
regionName,
|
||||||
|
ConfigSettings.MISSING_CACHE_STRATEGY, MissingCacheStrategy.CREATE.getExternalRepresentation()
|
||||||
|
);
|
||||||
return cacheManager.createCache( regionName, new MutableConfiguration<>() );
|
return cacheManager.createCache( regionName, new MutableConfiguration<>() );
|
||||||
case CREATE:
|
case CREATE:
|
||||||
return cacheManager.createCache( regionName, new MutableConfiguration<>() );
|
return cacheManager.createCache( regionName, new MutableConfiguration<>() );
|
||||||
|
|
|
@ -13,7 +13,7 @@ import java.util.function.Consumer;
|
||||||
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
|
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
|
||||||
import org.hibernate.cache.CacheException;
|
import org.hibernate.cache.CacheException;
|
||||||
import org.hibernate.cache.jcache.ConfigSettings;
|
import org.hibernate.cache.jcache.ConfigSettings;
|
||||||
import org.hibernate.cache.jcache.internal.JCacheMessageLogger;
|
import org.hibernate.cache.spi.SecondLevelCacheLogger;
|
||||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||||
import org.hibernate.service.spi.ServiceException;
|
import org.hibernate.service.spi.ServiceException;
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ import static org.junit.Assert.fail;
|
||||||
public class MissingCacheStrategyTest extends BaseUnitTestCase {
|
public class MissingCacheStrategyTest extends BaseUnitTestCase {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public LoggerInspectionRule logInspection = new LoggerInspectionRule( JCacheMessageLogger.INSTANCE );
|
public LoggerInspectionRule logInspection = new LoggerInspectionRule( SecondLevelCacheLogger.INSTANCE );
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMissingCacheStrategyDefault() {
|
public void testMissingCacheStrategyDefault() {
|
||||||
|
@ -106,7 +106,7 @@ public class MissingCacheStrategyTest extends BaseUnitTestCase {
|
||||||
triggerables.put(
|
triggerables.put(
|
||||||
regionName,
|
regionName,
|
||||||
logInspection.watchForLogMessages(
|
logInspection.watchForLogMessages(
|
||||||
"HHH025001: Missing cache[" + TestHelper.prefix( regionName ) + "] was created on-the-fly"
|
"HHH90001006: Missing cache[" + TestHelper.prefix( regionName ) + "] was created on-the-fly"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue