Skip to content

Commit 743ad65

Browse files
authored
Merge pull request #1 from himadieievsv/develop
Merge develop with master
2 parents 6075c9b + 9c08d62 commit 743ad65

File tree

26 files changed

+1035
-64
lines changed

26 files changed

+1035
-64
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@ build/
1111
*.iml
1212
*.ipr
1313
out/
14+
15+
### Docker volumes
16+
docker/volumes/mysql/lib

build.gradle

Lines changed: 44 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,55 @@
11
plugins {
2-
id 'org.springframework.boot' version '2.2.0.RELEASE'
3-
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
4-
id 'java'
2+
id 'org.springframework.boot' version '2.2.0.RELEASE' apply false
3+
id 'io.spring.dependency-management' version '1.0.8.RELEASE' apply false
4+
id 'application'
5+
id "com.github.spotbugs" version "2.0.0" apply false
6+
id 'checkstyle'
57
}
68

79
group = 'me.flash'
810
version = '0.0.1-SNAPSHOT'
9-
sourceCompatibility = '11'
11+
sourceCompatibility = 11
1012

11-
configurations {
12-
compileOnly {
13-
extendsFrom annotationProcessor
14-
}
15-
}
13+
subprojects {
1614

17-
repositories {
18-
mavenCentral()
19-
maven { url 'https://repo.spring.io/milestone' }
20-
}
15+
apply plugin: 'org.springframework.boot'
16+
apply plugin: 'io.spring.dependency-management'
17+
apply plugin: 'java'
18+
apply plugin: "com.github.spotbugs"
19+
apply plugin: 'checkstyle'
2120

22-
ext {
23-
set('springCloudVersion', "Hoxton.M3")
24-
}
21+
configurations {
22+
compileOnly {
23+
extendsFrom annotationProcessor
24+
}
25+
}
2526

26-
dependencies {
27-
implementation 'org.springframework.boot:spring-boot-starter-amqp'
28-
implementation 'org.springframework.boot:spring-boot-starter-batch'
29-
implementation 'org.springframework.cloud:spring-cloud-starter-task'
30-
compileOnly 'org.projectlombok:lombok'
31-
runtimeOnly 'com.h2database:h2'
32-
annotationProcessor 'org.projectlombok:lombok'
33-
testImplementation('org.springframework.boot:spring-boot-starter-test') {
34-
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
35-
}
36-
testImplementation 'org.springframework.amqp:spring-rabbit-test'
37-
testImplementation 'org.springframework.batch:spring-batch-test'
38-
}
27+
repositories {
28+
mavenCentral()
29+
maven { url 'https://repo.spring.io/milestone' }
30+
}
3931

40-
dependencyManagement {
41-
imports {
42-
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
43-
}
44-
}
32+
dependencies {
33+
implementation 'org.springframework.boot:spring-boot-starter-amqp'
34+
implementation 'org.springframework.boot:spring-boot-starter-batch'
35+
implementation 'org.springframework.boot:spring-boot-starter-integration'
36+
implementation 'org.springframework.batch:spring-batch-integration'
37+
implementation 'org.springframework.integration:spring-integration-amqp'
38+
39+
runtimeOnly 'mysql:mysql-connector-java'
40+
compileOnly 'org.projectlombok:lombok'
41+
annotationProcessor 'org.projectlombok:lombok'
42+
testImplementation('org.springframework.boot:spring-boot-starter-test') {
43+
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
44+
}
45+
testImplementation('org.springframework.amqp:spring-rabbit-test')
46+
testImplementation('org.springframework.batch:spring-batch-test') {
47+
exclude group: 'junit', module: 'junit'
48+
}
49+
testImplementation 'org.springframework.integration:spring-integration-test'
50+
}
4551

46-
test {
47-
useJUnitPlatform()
48-
}
52+
test {
53+
useJUnitPlatform()
54+
}
55+
}

config/checkstyle/checkstyle.xml

Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
<?xml version="1.0"?>
2+
<!DOCTYPE module PUBLIC
3+
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
4+
"https://checkstyle.org/dtds/configuration_1_3.dtd">
5+
6+
<!--
7+
Checkstyle configuration that checks the Google coding conventions from Google Java Style
8+
that can be found at https://google.github.io/styleguide/javaguide.html.
9+
Checkstyle is very configurable. Be sure to read the documentation at
10+
http://checkstyle.sf.net (or in your downloaded distribution).
11+
To completely disable a check, just comment it out or delete it from the file.
12+
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
13+
-->
14+
15+
<module name = "Checker">
16+
<property name="charset" value="UTF-8"/>
17+
18+
<property name="severity" value="warning"/>
19+
20+
<property name="fileExtensions" value="java, properties, xml"/>
21+
<!-- Checks for whitespace -->
22+
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
23+
<module name="FileTabCharacter">
24+
<property name="eachLine" value="true"/>
25+
</module>
26+
27+
<module name="TreeWalker">
28+
<module name="OuterTypeFilename"/>
29+
<module name="IllegalTokenText">
30+
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
31+
<property name="format"
32+
value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
33+
<property name="message"
34+
value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
35+
</module>
36+
<module name="AvoidEscapedUnicodeCharacters">
37+
<property name="allowEscapesForControlCharacters" value="true"/>
38+
<property name="allowByTailComment" value="true"/>
39+
<property name="allowNonPrintableEscapes" value="true"/>
40+
</module>
41+
<module name="LineLength">
42+
<property name="max" value="120"/>
43+
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
44+
</module>
45+
<module name="AvoidStarImport"/>
46+
<module name="OneTopLevelClass"/>
47+
<module name="NoLineWrap"/>
48+
<module name="EmptyBlock">
49+
<property name="option" value="TEXT"/>
50+
<property name="tokens"
51+
value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
52+
</module>
53+
<module name="NeedBraces"/>
54+
<module name="LeftCurly"/>
55+
<module name="RightCurly">
56+
<property name="id" value="RightCurlySame"/>
57+
<property name="tokens"
58+
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
59+
LITERAL_DO"/>
60+
</module>
61+
<module name="RightCurly">
62+
<property name="id" value="RightCurlyAlone"/>
63+
<property name="option" value="alone"/>
64+
<property name="tokens"
65+
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
66+
INSTANCE_INIT"/>
67+
</module>
68+
<module name="WhitespaceAround">
69+
<property name="allowEmptyConstructors" value="true"/>
70+
<property name="allowEmptyMethods" value="true"/>
71+
<property name="allowEmptyTypes" value="true"/>
72+
<property name="allowEmptyLoops" value="true"/>
73+
<message key="ws.notFollowed"
74+
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
75+
<message key="ws.notPreceded"
76+
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
77+
</module>
78+
<module name="OneStatementPerLine"/>
79+
<module name="MultipleVariableDeclarations"/>
80+
<module name="ArrayTypeStyle"/>
81+
<module name="MissingSwitchDefault"/>
82+
<module name="FallThrough"/>
83+
<module name="UpperEll"/>
84+
<module name="ModifierOrder"/>
85+
<module name="EmptyLineSeparator">
86+
<property name="allowNoEmptyLineBetweenFields" value="true"/>
87+
</module>
88+
<module name="SeparatorWrap">
89+
<property name="id" value="SeparatorWrapDot"/>
90+
<property name="tokens" value="DOT"/>
91+
<property name="option" value="nl"/>
92+
</module>
93+
<module name="SeparatorWrap">
94+
<property name="id" value="SeparatorWrapComma"/>
95+
<property name="tokens" value="COMMA"/>
96+
<property name="option" value="EOL"/>
97+
</module>
98+
<module name="SeparatorWrap">
99+
<!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
100+
<property name="id" value="SeparatorWrapEllipsis"/>
101+
<property name="tokens" value="ELLIPSIS"/>
102+
<property name="option" value="EOL"/>
103+
</module>
104+
<module name="SeparatorWrap">
105+
<!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
106+
<property name="id" value="SeparatorWrapArrayDeclarator"/>
107+
<property name="tokens" value="ARRAY_DECLARATOR"/>
108+
<property name="option" value="EOL"/>
109+
</module>
110+
<module name="SeparatorWrap">
111+
<property name="id" value="SeparatorWrapMethodRef"/>
112+
<property name="tokens" value="METHOD_REF"/>
113+
<property name="option" value="nl"/>
114+
</module>
115+
<module name="PackageName">
116+
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
117+
<message key="name.invalidPattern"
118+
value="Package name ''{0}'' must match pattern ''{1}''."/>
119+
</module>
120+
<module name="TypeName">
121+
<message key="name.invalidPattern"
122+
value="Type name ''{0}'' must match pattern ''{1}''."/>
123+
</module>
124+
<module name="MemberName">
125+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
126+
<message key="name.invalidPattern"
127+
value="Member name ''{0}'' must match pattern ''{1}''."/>
128+
</module>
129+
<module name="ParameterName">
130+
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
131+
<message key="name.invalidPattern"
132+
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
133+
</module>
134+
<module name="LambdaParameterName">
135+
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
136+
<message key="name.invalidPattern"
137+
value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/>
138+
</module>
139+
<module name="CatchParameterName">
140+
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
141+
<message key="name.invalidPattern"
142+
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
143+
</module>
144+
<module name="LocalVariableName">
145+
<property name="tokens" value="VARIABLE_DEF"/>
146+
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
147+
<message key="name.invalidPattern"
148+
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
149+
</module>
150+
<module name="ClassTypeParameterName">
151+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
152+
<message key="name.invalidPattern"
153+
value="Class type name ''{0}'' must match pattern ''{1}''."/>
154+
</module>
155+
<module name="MethodTypeParameterName">
156+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
157+
<message key="name.invalidPattern"
158+
value="Method type name ''{0}'' must match pattern ''{1}''."/>
159+
</module>
160+
<module name="InterfaceTypeParameterName">
161+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
162+
<message key="name.invalidPattern"
163+
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
164+
</module>
165+
<module name="NoFinalizer"/>
166+
<module name="GenericWhitespace">
167+
<message key="ws.followed"
168+
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
169+
<message key="ws.preceded"
170+
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
171+
<message key="ws.illegalFollow"
172+
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
173+
<message key="ws.notPreceded"
174+
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
175+
</module>
176+
<module name="Indentation">
177+
178+
</module>
179+
<module name="AbbreviationAsWordInName">
180+
<property name="ignoreFinal" value="false"/>
181+
<property name="allowedAbbreviationLength" value="1"/>
182+
</module>
183+
<module name="OverloadMethodsDeclarationOrder"/>
184+
<module name="VariableDeclarationUsageDistance"/>
185+
<module name="CustomImportOrder">
186+
<property name="separateLineBetweenGroups" value="true"/>
187+
</module>
188+
<module name="MethodParamPad"/>
189+
<module name="NoWhitespaceBefore">
190+
<property name="tokens"
191+
value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
192+
<property name="allowLineBreaks" value="true"/>
193+
</module>
194+
<module name="ParenPad"/>
195+
<module name="OperatorWrap">
196+
<property name="option" value="NL"/>
197+
<property name="tokens"
198+
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,
199+
LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
200+
</module>
201+
<module name="AnnotationLocation">
202+
<property name="id" value="AnnotationLocationMostCases"/>
203+
<property name="tokens"
204+
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
205+
</module>
206+
<module name="AnnotationLocation">
207+
<property name="id" value="AnnotationLocationVariables"/>
208+
<property name="tokens" value="VARIABLE_DEF"/>
209+
<property name="allowSamelineMultipleAnnotations" value="true"/>
210+
</module>
211+
<module name="NonEmptyAtclauseDescription"/>
212+
<module name="JavadocTagContinuationIndentation"/>
213+
<module name="SummaryJavadoc">
214+
<property name="forbiddenSummaryFragments"
215+
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
216+
</module>
217+
<module name="JavadocParagraph"/>
218+
<module name="AtclauseOrder">
219+
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
220+
<property name="target"
221+
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
222+
</module>
223+
<module name="JavadocMethod">
224+
<property name="scope" value="public"/>
225+
<property name="allowMissingParamTags" value="true"/>
226+
<property name="allowMissingThrowsTags" value="true"/>
227+
<property name="allowMissingReturnTag" value="true"/>
228+
<property name="minLineCount" value="2"/>
229+
<property name="allowedAnnotations" value="Override, Test"/>
230+
<property name="allowThrowsTagsForSubclasses" value="true"/>
231+
</module>
232+
<module name="MethodName">
233+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
234+
<message key="name.invalidPattern"
235+
value="Method name ''{0}'' must match pattern ''{1}''."/>
236+
</module>
237+
<module name="SingleLineJavadoc">
238+
<property name="ignoreInlineTags" value="false"/>
239+
</module>
240+
<module name="EmptyCatchBlock">
241+
<property name="exceptionVariableName" value="expected"/>
242+
</module>
243+
<module name="CommentsIndentation"/>
244+
</module>
245+
</module>

consumer/build.gradle

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
group 'me.flash.distributedbatch'
2+
version '0.0.1-SNAPSHOT'
3+
4+
sourceCompatibility = 11
5+
6+
dependencies {
7+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package me.flash.distributedbatch.consumer;
2+
3+
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
4+
import org.springframework.boot.SpringApplication;
5+
import org.springframework.boot.autoconfigure.SpringBootApplication;
6+
7+
@EnableBatchProcessing
8+
@SpringBootApplication
9+
public class ConsumerApplication {
10+
public static void main(String[] args) {
11+
SpringApplication.run(ConsumerApplication.class, args);
12+
}
13+
}

0 commit comments

Comments
 (0)