Skip to content

Commit cc79e79

Browse files
Merge pull request #17 from th2-net/ts-1225
Ts 1225
2 parents 839526e + 513e7e3 commit cc79e79

File tree

15 files changed

+640
-252
lines changed

15 files changed

+640
-252
lines changed

Diff for: README.md

+39-23
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,26 @@
1-
# th2-conn-dirty-fix (0.0.2)
1+
# th2-conn-dirty-fix (0.0.4)
22

33
This microservice allows sending and receiving messages via FIX protocol
44

55
## Configuration
66

7-
+ *autoStart* - enables/disable auto-starting of session on box start (`true` by default)
8-
+ *autoStopAfter* - time in seconds after which session will be automatically stopped (`0` by default = disabled)
7+
+ *sessions* - list of session settings
98
+ *maxBatchSize* - max size of outgoing message batch (`1000` by default)
109
+ *maxFlushTime* - max message batch flush time (`1000` by default)
1110
+ *publishSentEvents* - enables/disables publish of "message sent" events (`true` by default)
1211
+ *publishConnectEvents* - enables/disables publish of "connect/disconnect" events (`true` by default)
13-
+ *sessions* - list of session settings
1412

1513
## Session settings
1614

1715
+ *sessionAlias* - session alias for incoming/outgoing th2 messages
18-
+ *host* - service host
19-
+ *port* - service port
20-
+ *security* - connection security settings
21-
+ *maxMessageRate* - max outgoing message rate for this session (unlimited by default)
22-
+ *autoReconnect* - enables/disables auto-reconnect (`true` by default)
23-
+ *reconnectDelay* - delay between reconnects (`5000` by default)
2416
+ *handler* - handler settings
2517
+ *mangler* - mangler settings
26-
### Security settings
27-
28-
+ *ssl* - enables SSL on connection (`false` by default)
29-
+ *sni* - enables SNI support (`false` by default)
30-
+ *certFile* - path to server certificate (`null` by default)
31-
+ *acceptAllCerts* - accept all server certificates (`false` by default, takes precedence over `certFile`)
3218

3319
## Handler settings
3420

21+
+ *host* - service host
22+
+ *port* - service port
23+
+ *security* - connection security settings
3524
+ *beginString* - defines the start of a new message and the protocol version
3625
+ *heartBtInt* - message waiting interval
3726
+ *senderCompID* - ID of the sender of the message
@@ -51,6 +40,18 @@ This microservice allows sending and receiving messages via FIX protocol
5140
+ *disconnectRequestDelay* - the interval for the shutdown request
5241
+ *resetSeqNumFlag* - resetting sequence number in initial Logon message (when conn started)
5342
+ *resetOnLogon* - resetting the sequence number in Logon in other cases (e.g. disconnect)
43+
+ *stateFilePath* - path to file where sequences will be saved to use with next login attempts. It is useful when acceptor does not support sequence reset. (`nullable`)
44+
+ *sessionStartTime* - UTC time when session starts. (`nullable`)
45+
+ *sessionEndTime* - UTC time when session ends. required if startSessionTime is filled.
46+
+ *useNextExpectedSeqNum* - session management based on next expected sequence number. (`false` by default)
47+
+ *saveAdminMessages* - defines if admin messages will be saved to internal outgoing buffer. (`false` by default)
48+
49+
### Security settings
50+
51+
+ *ssl* - enables SSL on connection (`false` by default)
52+
+ *sni* - enables SNI support (`false` by default)
53+
+ *certFile* - path to server certificate (`null` by default)
54+
+ *acceptAllCerts* - accept all server certificates (`false` by default, takes precedence over `certFile`)
5455

5556
## Mangler settings
5657

@@ -222,9 +223,7 @@ spec:
222223
image-version: 0.0.1
223224
type: th2-conn
224225
custom-config:
225-
autoStart: true
226-
autoStopAfter: 0
227-
maxBatchSize: 100
226+
maxBatchSize: 1000
228227
maxFlushTime: 1000
229228
publishSentEvents: true
230229
publishConnectEvents: true
@@ -283,18 +282,28 @@ spec:
283282
settings:
284283
storageOnDemand: false
285284
queueLength: 1000
286-
- name: outgoing_messages
285+
- name: incoming_messages
287286
connection-type: mq
288287
attributes:
289-
- second
290288
- publish
289+
- store
291290
- raw
292-
- name: incoming_messages
291+
filters:
292+
- metadata:
293+
- field-name: direction
294+
expected-value: FIRST
295+
operation: EQUAL
296+
- name: outgoing_messages
293297
connection-type: mq
294298
attributes:
295-
- first
296299
- publish
300+
- store
297301
- raw
302+
filters:
303+
- metadata:
304+
- field-name: direction
305+
expected-value: SECOND
306+
operation: EQUAL
298307
extended-settings:
299308
externalBox:
300309
enabled: false
@@ -311,6 +320,13 @@ spec:
311320

312321
# Changelog
313322

323+
## 0.0.4
324+
* Session management based on NextExpectedSeqNum field.
325+
* Recovery handling
326+
* outgoing messages are now saved
327+
* if message wasn't saved sequence reset message with gap fill mode flag is sent.
328+
* Session start and Session end configuration to handle sequence reset by exchange schedule.
329+
314330
## 0.0.3
315331

316332
* Added new password option into settings

Diff for: build.gradle

+20-10
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,15 @@ version release_version
1414
sourceCompatibility = 11
1515
targetCompatibility = 11
1616

17+
ext {
18+
sharedDir = file("${project.rootDir}/shared")
19+
}
20+
1721
repositories {
22+
maven {
23+
name 'MavenLocal'
24+
url sharedDir
25+
}
1826
mavenCentral()
1927

2028
maven {
@@ -36,18 +44,20 @@ repositories {
3644
}
3745

3846
dependencies {
39-
// api platform('com.exactpro.th2:bom:4.0.2')
40-
api platform('com.exactpro.th2:bom:3.1.0')
47+
api platform('com.exactpro.th2:bom:4.1.0')
4148

42-
implementation 'com.exactpro.th2:conn-dirty-tcp-core:1.0.0'
43-
implementation 'com.exactpro.th2:common:3.31.1'
44-
// implementation 'com.exactpro.th2:common:3.42.1-TH2-2212-common-cannot-recover-channel-level-exceptions-3540133251-SNAPSHOT'
49+
implementation 'com.exactpro.th2:common:3.44.0'
50+
implementation 'com.exactpro.th2:netty-bytebuf-utils:0.0.1'
51+
implementation ('com.exactpro.th2:conn-dirty-tcp-core:2.0.5') {
52+
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
53+
because 'Projects should use only slf4j-api, without coupling to a certain implementation'
54+
}
4555

46-
implementation 'org.slf4j:slf4j-api:1.7.33'
47-
implementation 'io.github.microutils:kotlin-logging:2.1.21'
56+
implementation 'org.slf4j:slf4j-api'
57+
implementation 'io.github.microutils:kotlin-logging:2.1.23'
4858

49-
implementation 'io.netty:netty-all:4.1.72.Final'
50-
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0'
59+
implementation 'io.netty:netty-all:4.1.86.Final'
60+
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21'
5161
implementation 'com.google.auto.service:auto-service:1.0.1'
5262

5363
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: jackson_version
@@ -56,7 +66,7 @@ dependencies {
5666
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: jackson_version
5767

5868
testImplementation 'org.mockito:mockito-all:1.10.19'
59-
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit5:1.6.21'
69+
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit5:1.7.10'
6070

6171
annotationProcessor 'com.google.auto.service:auto-service:1.0.1'
6272
kapt 'com.google.auto.service:auto-service:1.0.1'

Diff for: gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
release_version=0.0.3
1+
release_version=0.0.4
22
jackson_version=2.11.2

0 commit comments

Comments
 (0)