fix
This commit is contained in:
parent
298c135dea
commit
ced6aea94d
5 changed files with 240 additions and 45 deletions
|
|
@ -53,7 +53,6 @@
|
|||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
|
|
@ -130,6 +129,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.database</groupId>
|
||||
<artifactId>database-impl</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.jndi</groupId>
|
||||
|
|
@ -208,18 +208,6 @@
|
|||
<groupId>org.apache.tika</groupId>
|
||||
<artifactId>tika-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk15on</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcpkix-jdk15on</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mnode.ical4j</groupId>
|
||||
<artifactId>ical4j</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.javacrumbs.shedlock</groupId>
|
||||
<artifactId>shedlock-spring</artifactId>
|
||||
|
|
@ -232,6 +220,22 @@
|
|||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j2-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jul</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-web</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<finalName>${parent.artifactId}</finalName>
|
||||
|
|
|
|||
151
backend/src/main/java/ru/micord/ervu/db/DbConfiguration.java
Normal file
151
backend/src/main/java/ru/micord/ervu/db/DbConfiguration.java
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
package ru.micord.ervu.db;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.jooq.ConnectionProvider;
|
||||
import org.jooq.DSLContext;
|
||||
import org.jooq.ExecuteListener;
|
||||
import org.jooq.conf.Settings;
|
||||
import org.jooq.impl.DefaultConfiguration;
|
||||
import org.jooq.impl.DefaultDSLContext;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import ru.fix.aggregating.profiler.PrefixedProfiler;
|
||||
import ru.fix.aggregating.profiler.Profiler;
|
||||
|
||||
import ru.cg.webbpm.modules.core.metrics.MetricsConfig;
|
||||
import ru.cg.webbpm.modules.core.runtime.api.context.ExecutionContextHelper;
|
||||
import ru.cg.webbpm.modules.database.api.ConfigurationProvider;
|
||||
import ru.cg.webbpm.modules.database.api.metrics.DataSourceWithMetrics;
|
||||
import ru.cg.webbpm.modules.database.api.provider.DslProvider;
|
||||
import ru.cg.webbpm.modules.database.bean.config.Datasource;
|
||||
import ru.cg.webbpm.modules.database.impl.DbConfInitializer;
|
||||
import ru.cg.webbpm.modules.database.impl.data_source.DataSourceConfigReader;
|
||||
import ru.cg.webbpm.modules.database.impl.data_source.DataSourceFactory;
|
||||
import ru.cg.webbpm.modules.database.impl.data_source.HikariDataSourceFactory;
|
||||
import ru.cg.webbpm.modules.database.impl.data_source.JndiDataSourceFactory;
|
||||
import ru.cg.webbpm.modules.database.impl.provider.DefaultConnectionProvider;
|
||||
import ru.cg.webbpm.modules.database.impl.provider.DslProviderImpl;
|
||||
import ru.cg.webbpm.modules.database.impl.service.ProcessSqlService;
|
||||
import ru.cg.webbpm.modules.resources.api.ResourceProvider;
|
||||
|
||||
@Configuration
|
||||
@Import(MetricsConfig.class)
|
||||
public class DbConfiguration {
|
||||
@Value("${webbpm.db.query_timeout:120}")
|
||||
private Integer queryTimeout;
|
||||
@Autowired
|
||||
private ResourceProvider resourceProvider;
|
||||
@Autowired
|
||||
private ProcessSqlService processSqlService;
|
||||
@Autowired
|
||||
private Profiler profiler;
|
||||
@Autowired
|
||||
private ExecutionContextHelper executionContextHelper;
|
||||
|
||||
@Autowired
|
||||
private ExecuteListener[] executeListeners;
|
||||
|
||||
private final Map<String, DSLContext> dslContextMap = new HashMap<>();
|
||||
private final Map<String, ConnectionProvider> connectionProviderMap = new HashMap<>();
|
||||
|
||||
@Bean
|
||||
public Datasource datasourceConfig() {
|
||||
return DataSourceConfigReader.read(resourceProvider);
|
||||
}
|
||||
|
||||
@Bean(destroyMethod = "destroy")
|
||||
public DataSourceFactory dataSourceFactory(HikariDataSourceFactory hikariDataSourceFactory) {
|
||||
return new DataSourceFactory(hikariDataSourceFactory);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public DataSource datasource(DataSourceFactory dataSourceFactory) {
|
||||
DataSource dataSource = dataSourceFactory.createDataSource(datasourceConfig(),
|
||||
JndiDataSourceFactory::createDataSource
|
||||
);
|
||||
return new DataSourceWithMetrics(
|
||||
dataSource,
|
||||
"project",
|
||||
new PrefixedProfiler(profiler, "webbpm.db"),
|
||||
executionContextHelper
|
||||
);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public PlatformTransactionManager txManager(@Qualifier("datasource") DataSource dataSource) {
|
||||
return new DataSourceTransactionManager(dataSource);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public TransactionAwareDataSourceProxy transactionAwareDataSource(DataSource dataSource) {
|
||||
return new TransactionAwareDataSourceProxy(dataSource);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public DefaultConnectionProvider connectionProvider(
|
||||
TransactionAwareDataSourceProxy transactionAwareDataSourceProxy) {
|
||||
return new DefaultConnectionProvider(transactionAwareDataSourceProxy, processSqlService,
|
||||
connectionProviderMap
|
||||
);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Settings jooqSettings(DataSourceFactory dataSourceFactory) {
|
||||
Settings settings = new Settings();
|
||||
if (dataSourceFactory.dataSourceType() == DataSourceFactory.DataSourceType.HIKARI) {
|
||||
settings.setQueryTimeout(queryTimeout);
|
||||
}
|
||||
return settings;
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public org.jooq.Configuration jooqConfiguration(ConnectionProvider connectionProvider,
|
||||
Settings jooqSettings) {
|
||||
DefaultConfiguration configuration = new DefaultConfiguration();
|
||||
configuration.setSQLDialect(datasourceConfig().getSqlDialect());
|
||||
jooqSettings = jooqSettings.withExecuteLogging(false);
|
||||
configuration.setSettings(jooqSettings);
|
||||
configuration.setConnectionProvider(connectionProvider);
|
||||
configuration.set(executeListeners);
|
||||
return configuration;
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public DSLContext dsl(org.jooq.Configuration configuration) {
|
||||
return new DefaultDSLContext(configuration);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ConfigurationProvider configurationProvider(
|
||||
PlatformTransactionManager platformTransactionManager) {
|
||||
return () -> platformTransactionManager;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DslProvider dslProvider(@Qualifier("dsl") DSLContext dsl) {
|
||||
return new DslProviderImpl(dsl, this.dslContextMap);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DbConfInitializer dbConfInitializer(DataSourceFactory dataSourceFactory,
|
||||
org.jooq.Configuration masterConfiguration, Datasource datasource) {
|
||||
return new DbConfInitializer(dataSourceFactory, masterConfiguration, datasource,
|
||||
processSqlService, connectionProviderMap, dslContextMap);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,7 @@
|
|||
package ru.micord.security;
|
||||
package ru.micord.ervu.security;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.config.Customizer;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.web.SecurityFilterChain;
|
||||
30
backend/src/main/webapp/WEB-INF/log4j2.xml
Normal file
30
backend/src/main/webapp/WEB-INF/log4j2.xml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<Configuration status="WARN" monitorInterval="30">
|
||||
<Appenders>
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
|
||||
</Console>
|
||||
|
||||
<RollingRandomAccessFile name="LogToRollingRandomAccessFile" fileName="${sys:catalina.home}/logs/ervu-fl.log"
|
||||
filePattern="${sys:catalina.home}/logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
|
||||
<PatternLayout>
|
||||
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
|
||||
</PatternLayout>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="20MB"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="10"/>
|
||||
</RollingRandomAccessFile>
|
||||
|
||||
<Async name="Async">
|
||||
<AppenderRef ref="LogToRollingRandomAccessFile"/>
|
||||
</Async>
|
||||
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Root level="INFO">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="Async"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
||||
71
pom.xml
71
pom.xml
|
|
@ -100,6 +100,22 @@
|
|||
<groupId>ru.cg.webbpm.modules.security</groupId>
|
||||
<artifactId>security-adapter</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>ru.micord.fias</groupId>
|
||||
<artifactId>client</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>ru.micord.gar</groupId>
|
||||
<artifactId>gar-client</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>net.javacrumbs.shedlock</groupId>
|
||||
<artifactId>shedlock-spring</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>net.javacrumbs.shedlock</groupId>
|
||||
<artifactId>shedlock-provider-jdbc-template</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
@ -176,11 +192,6 @@
|
|||
<version>${webbpm-platform.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.security</groupId>
|
||||
<artifactId>security-beans</artifactId>
|
||||
<version>${webbpm-platform.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.security</groupId>
|
||||
<artifactId>security-api</artifactId>
|
||||
|
|
@ -274,21 +285,6 @@
|
|||
<version>${webbpm-platform.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.security</groupId>
|
||||
<artifactId>security-esia</artifactId>
|
||||
<version>${webbpm-platform.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.security</groupId>
|
||||
<artifactId>security-db-synchronization-api</artifactId>
|
||||
<version>${webbpm-platform.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.security</groupId>
|
||||
<artifactId>security-db-synchronization-ldap-impl</artifactId>
|
||||
<version>${webbpm-platform.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm</groupId>
|
||||
<artifactId>web-tests-core</artifactId>
|
||||
|
|
@ -304,16 +300,6 @@
|
|||
<artifactId>bcpkix-jdk15on</artifactId>
|
||||
<version>${org.bouncycastle.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security.kerberos</groupId>
|
||||
<artifactId>spring-security-kerberos-core</artifactId>
|
||||
<version>${spring-security-kerberos.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security.kerberos</groupId>
|
||||
<artifactId>spring-security-kerberos-web</artifactId>
|
||||
<version>${spring-security-kerberos.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpcore</artifactId>
|
||||
|
|
@ -350,6 +336,31 @@
|
|||
<artifactId>slf4j-simple</artifactId>
|
||||
<version>1.7.28</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>2.0.13</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j2-impl</artifactId>
|
||||
<version>2.23.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>2.23.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jul</artifactId>
|
||||
<version>2.23.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-web</artifactId>
|
||||
<version>2.23.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<repositories>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue