Skip to content

Commit bd849a6

Browse files
author
Peter Georgantas
committed
Fixes fail fast to be more explicit
1 parent 77091b8 commit bd849a6

File tree

4 files changed

+38
-1
lines changed

4 files changed

+38
-1
lines changed

src/main/java/org/mybatis/guice/MyBatisModule.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import org.mybatis.guice.configuration.settings.DefaultExecutorTypeConfigurationSetting;
6161
import org.mybatis.guice.configuration.settings.DefaultScriptingLanguageTypeConfigurationSetting;
6262
import org.mybatis.guice.configuration.settings.DefaultStatementTimeoutConfigurationSetting;
63+
import org.mybatis.guice.configuration.settings.FailFastSettingImpl;
6364
import org.mybatis.guice.configuration.settings.LazyLoadingEnabledConfigurationSetting;
6465
import org.mybatis.guice.configuration.settings.LocalCacheScopeConfigurationSetting;
6566
import org.mybatis.guice.configuration.settings.MapUnderscoreToCamelCaseConfigurationSetting;
@@ -234,7 +235,7 @@ protected final void useSqlSessionFactoryProvider(Class<? extends Provider<? ext
234235
* @param failFast
235236
*/
236237
protected final void failFast(boolean failFast) {
237-
// bindBoolean("mybatis.configuration.failFast", failFast);
238+
bindConstant().annotatedWith(FailFastSettingImpl.get()).to(failFast);
238239
}
239240

240241
/**

src/main/java/org/mybatis/guice/configuration/ConfigurationProvider.java

+3
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.apache.ibatis.type.TypeHandler;
3232
import org.mybatis.guice.configuration.settings.ConfigurationSetting;
3333
import org.mybatis.guice.configuration.settings.ConfigurationSettings;
34+
import org.mybatis.guice.configuration.settings.FailFastSetting;
3435

3536
import com.google.inject.ProvisionException;
3637

@@ -73,6 +74,8 @@ public class ConfigurationProvider implements Provider<Configuration> {
7374
@ConfigurationSettings
7475
private Set<ConfigurationSetting> configurationSettings = Collections.emptySet();
7576

77+
@com.google.inject.Inject(optional = true)
78+
@FailFastSetting
7679
private boolean failFast;
7780

7881
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.mybatis.guice.configuration.settings;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
import com.google.inject.BindingAnnotation;
9+
10+
/**
11+
* Marker for FailFastSetting boolean.
12+
*/
13+
@BindingAnnotation
14+
@Retention(RetentionPolicy.RUNTIME)
15+
@Target(ElementType.FIELD)
16+
public @interface FailFastSetting {
17+
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.mybatis.guice.configuration.settings;
2+
3+
import java.lang.annotation.Annotation;
4+
5+
public class FailFastSettingImpl implements FailFastSetting {
6+
7+
@Override
8+
public Class<? extends Annotation> annotationType() {
9+
return FailFastSetting.class;
10+
}
11+
12+
public static FailFastSetting get(){
13+
return new FailFastSettingImpl();
14+
}
15+
}

0 commit comments

Comments
 (0)