fixed missing transaction handling

This commit is contained in:
2019-02-04 16:51:19 +01:00
parent 1c6bb1769c
commit b32b756da1

View File

@ -30,6 +30,7 @@ import javax.ejb.LockType;
import javax.ejb.Singleton; import javax.ejb.Singleton;
import javax.ejb.Startup; import javax.ejb.Startup;
import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import static javax.ejb.TransactionAttributeType.REQUIRES_NEW; import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
import javax.inject.Inject; import javax.inject.Inject;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
@ -70,6 +71,8 @@ public class ConfigService implements Serializable {
* more than one value is defined for the given key but none of the values * more than one value is defined for the given key but none of the values
* is defined for the system user * is defined for the system user
*/ */
@Lock(LockType.READ)
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public String getConfigValue(String configKey) throws ConfigException { public String getConfigValue(String configKey) throws ConfigException {
Query query = em.createNamedQuery("ConfigEntity.findByConfigKey"); Query query = em.createNamedQuery("ConfigEntity.findByConfigKey");
query.setParameter("application", application); query.setParameter("application", application);
@ -95,6 +98,8 @@ public class ConfigService implements Serializable {
} }
} }
@Lock(LockType.READ)
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public String getConfigValue(String configKey, String defaultValue) throws ConfigException { public String getConfigValue(String configKey, String defaultValue) throws ConfigException {
return getConfigValue(configKey, defaultValue, false); return getConfigValue(configKey, defaultValue, false);
} }
@ -121,6 +126,8 @@ public class ConfigService implements Serializable {
return defaultValue; return defaultValue;
} }
@Lock(LockType.READ)
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public String getConfigValue(String configKey, Account account, boolean fallbackToSystem) throws ConfigException { public String getConfigValue(String configKey, Account account, boolean fallbackToSystem) throws ConfigException {
Query query = em.createNamedQuery("ConfigEntity.findByConfigKeyAndAccount"); Query query = em.createNamedQuery("ConfigEntity.findByConfigKeyAndAccount");
query.setParameter("application", application); query.setParameter("application", application);