Vedran Pavic
dbeb33fd9d
Add flush mode support for JDBC sessions
...
Resolves : #1468
2019-08-05 18:58:29 +02:00
Vedran Pavic
2e0c347a3a
Update integration tests
2019-08-05 13:26:34 +02:00
Vedran Pavic
a988b062c3
Add IBM DB2 integration tests
...
Resolves : #1482
2019-08-02 01:11:02 +02:00
Vedran Pavic
09368243aa
Update integration tests
2019-07-30 23:28:54 +02:00
Vedran Pavic
033d6eecae
Add support for session save mode
...
This commit introduces SaveMode enum that individual SessionRepository implementations use to allow customization of the way they handle save operation in terms of tracking delta of changes.
Resolves : #1466
2019-07-14 10:35:05 +02:00
Vedran Pavic
46bc4b0957
Use no-op TransactionOperations
2019-07-07 13:40:59 +02:00
Vedran Pavic
a6f6042831
Introduce IndexResolver
...
This commit introduces IndexResolver as a strategy interface for resolving index values in FindByIndexNameSessionRepository implementations.
Resolves : #557
2019-06-24 12:01:26 +02:00
Craig Andrews
050ff7538b
In Oracle ignore non-existant tables when dropping
...
If tables don't exist, ignore that error when dropping.
This aligns Oracle with the existing mysql, postgresql, h2, and hsqldb behavior.
2019-06-19 08:25:44 -05:00
Vedran Pavic
822db7fbbf
Use spring-javaformat to format and check code
...
Resolves : #1450
2019-06-17 23:54:41 +02:00
Vedran Pavic
4f9d55feec
Update integration tests
2019-06-13 18:36:49 +02:00
Vedran Pavic
a4ff3682f6
Migrate tests to JUnit 5
...
Resolves : #1033
2019-06-06 20:57:45 +02:00
Vedran Pavic
566b388b2f
Align Checkstyle config with Spring Boot
2019-06-03 16:49:08 +02:00
Vedran Pavic
52f59a83e4
Update integration tests
2019-05-31 23:31:01 +02:00
Vedran Pavic
b98c5216b4
Update configuration classes to use proxyBeanMethods=false
...
Resolves : #1345
2019-05-09 18:10:57 +02:00
Vedran Pavic
83e0f4f24a
Fix JdbcOperationsSessionRepository lazy deserialization
...
Resolves : #1411
2019-05-06 23:37:08 +02:00
Vedran Pavic
856a9b2c51
Update integration tests
2019-04-09 21:24:55 +02:00
Spring Operator
a5a3bc5d0b
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* [ ] http://www.ultraq.net.nz/thymeleaf/layout (302) with 12 occurrences migrated to:
https://github.com/ultraq/thymeleaf-layout-dialect ([https](https://www.ultraq.net.nz/thymeleaf/layout ) result ConnectTimeoutException).
* [ ] http://192.168.1.100:8080/ (AnnotatedConnectException) with 1 occurrences migrated to:
https://192.168.1.100:8080/ ([https](https://192.168.1.100:8080/ ) result ConnectTimeoutException).
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://docs.hazelcast.org/docs/ with 8 occurrences migrated to:
https://docs.hazelcast.org/docs/ ([https](https://docs.hazelcast.org/docs/ ) result 200).
* [ ] http://docs.spring.io/spring-data/data-redis/docs/current/reference/html/ with 1 occurrences migrated to:
https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/ ([https](https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/ ) result 200).
* [ ] http://docs.spring.io/spring-session/docs/current/reference/html5/ with 1 occurrences migrated to:
https://docs.spring.io/spring-session/docs/current/reference/html5/ ([https](https://docs.spring.io/spring-session/docs/current/reference/html5/ ) result 200).
* [ ] http://infinispan.org/docs/dev/user_guide/user_guide.html with 1 occurrences migrated to:
https://infinispan.org/docs/dev/user_guide/user_guide.html ([https](https://infinispan.org/docs/dev/user_guide/user_guide.html ) result 200).
* [ ] http://logback.qos.ch/manual/groovy.html with 1 occurrences migrated to:
https://logback.qos.ch/manual/groovy.html ([https](https://logback.qos.ch/manual/groovy.html ) result 200).
* [ ] http://projects.spring.io/spring-session/ with 1 occurrences migrated to:
https://projects.spring.io/spring-session/ ([https](https://projects.spring.io/spring-session/ ) result 200).
* [ ] http://redis.io/commands/expire with 1 occurrences migrated to:
https://redis.io/commands/expire ([https](https://redis.io/commands/expire ) result 200).
* [ ] http://redis.io/commands/hmset with 1 occurrences migrated to:
https://redis.io/commands/hmset ([https](https://redis.io/commands/hmset ) result 200).
* [ ] http://redis.io/topics/data-types with 1 occurrences migrated to:
https://redis.io/topics/data-types ([https](https://redis.io/topics/data-types ) result 200).
* [ ] http://redis.io/topics/notifications with 2 occurrences migrated to:
https://redis.io/topics/notifications ([https](https://redis.io/topics/notifications ) result 200).
* [ ] http://stackoverflow.com with 1 occurrences migrated to:
https://stackoverflow.com ([https](https://stackoverflow.com ) result 200).
* [ ] http://stackoverflow.com/tags/spring-session with 1 occurrences migrated to:
https://stackoverflow.com/tags/spring-session ([https](https://stackoverflow.com/tags/spring-session ) result 200).
* [ ] http://www.thymeleaf.org with 12 occurrences migrated to:
https://www.thymeleaf.org ([https](https://www.thymeleaf.org ) result 200).
* [ ] http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-3.dtd with 5 occurrences migrated to:
https://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-3.dtd ([https](https://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-3.dtd ) result 200).
* [ ] http://contributor-covenant.org with 1 occurrences migrated to:
https://contributor-covenant.org ([https](https://contributor-covenant.org ) result 301).
* [ ] http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/ ) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-data-tier.html with 2 occurrences migrated to:
https://docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-data-tier.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-data-tier.html ) result 301).
* [ ] http://www.maxmind.com with 2 occurrences migrated to:
https://www.maxmind.com ([https](https://www.maxmind.com ) result 302).
These URLs were intentionally ignored.
* http://java.sun.com/jsp/jstl/core with 8 occurrences
* http://localhost with 15 occurrences
* http://localhost:8080/ with 31 occurrences
* http://localhost:8080/h2-console/ with 3 occurrences
* http://localhost:8080/logout with 1 occurrences
* http://localhost:8080/test/index with 2 occurrences
* http://localhost:xxxxx/hazelcast/rest/maps/spring:session:sessions/7e8383a4-082c-4ffe-a4bc-c40fd3363c5e with 1 occurrences
* http://www.w3.org/1999/xhtml with 5 occurrences
* http://www.webjars.org/tags with 8 occurrences
Fixes gh-1375
2019-03-22 10:24:07 -04:00
Spring Operator
0975d4d47e
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# Fixed URLs
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* http://www.apache.org/licenses/ with 1 occurrences migrated to:
https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/ ) result 200).
* http://www.apache.org/licenses/LICENSE-2.0 with 269 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0 ) result 200).
* http://www.apache.org/licenses/LICENSE-2.0.html with 1 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0.html ([https](https://www.apache.org/licenses/LICENSE-2.0.html ) result 200).
2019-03-14 20:39:41 -05:00
Vedran Pavic
8fc2f1130a
Update integration tests
2019-02-13 19:36:48 +01:00
Vedran Pavic
72198e9e80
Update integration tests
2019-01-10 16:19:38 +01:00
Vedran Pavic
3480c65c2b
Polish
2018-11-26 18:24:14 +01:00
Vedran Pavic
3b7da0c370
Update integration tests
2018-11-26 17:54:57 +01:00
Vedran Pavic
8a4872b919
Improve exception asserts
2018-11-26 10:02:40 +01:00
Vedran Pavic
11ad1db6e7
Update integration tests
2018-11-01 17:50:35 +01:00
Vedran Pavic
f34acebf84
Upgrade integration tests
2018-10-15 18:42:12 +02:00
Vedran Pavic
49daa3a9c7
Polish
2018-09-26 14:16:02 +02:00
Vedran Pavic
2762f001bf
Add Oracle integration tests
2018-09-25 19:10:15 +02:00
Vedran Pavic
93aee206fb
Configure default LobHandler to use temporary LOBs on Oracle
...
JdbcOperationsSessionRepository recently introduced validation when inserting new session attributes in order to prevent data integrity violations in highly concurrent environments. This is done by using INSERT INTO ... SELECT statement to verify existence of session record in parent table. Such arrangement causes problems with Oracle if inserted attribute is of size 4 kb or more.
This commit enhances JdbcHttpSessionConfiguration to detect Oracle database is used, and set createTemporaryLob option on default LobHandler to true.
Resolves : #1203
See also: #1031
2018-09-25 18:45:02 +02:00
Vedran Pavic
5fb0c4dd35
Improve JDBC integration tests
2018-09-24 06:30:47 +02:00
Vedran Pavic
eae8592f2b
Upgrade integration tests
2018-09-20 19:48:33 +02:00
Vedran Pavic
b61937def7
Polish contribution
...
Resolves : #1133
2018-09-19 23:53:38 +02:00
Craig Andrews
c523fb591d
Deserialize attributes lazily in JdbcOperationsSessionRepository
...
Instead of deserializing all of the session attributes as they are read from the database, deserialize as #getAttribute requests them.
See: #1133
2018-09-19 23:48:15 +02:00
Vedran Pavic
3e1a22102d
Ensure compatibility with Java 9 and 10
...
Closes gh-1196
2018-09-16 22:13:56 +02:00
Vedran Pavic
603a258172
Upgrade Testcontainers to 1.9.0-rc1
2018-09-11 23:06:10 +02:00
Vedran Pavic
1181e52bb0
Upgrade spring-build-conventions to 0.0.18.RELEASE
2018-08-24 23:50:23 +02:00
Vedran Pavic
de16c304ea
Add support using JDBC repository without transactions
...
Closes gh-1046
2018-08-21 06:05:52 +02:00
Vedran Pavic
7ef0faf259
Update integration tests
2018-08-20 06:31:10 +02:00
Vedran Pavic
7fdf2876b2
Polish
2018-08-13 07:44:47 +02:00
Vedran Pavic
87c2e53b5a
Insert new attributes conditionally in JDBC repo
...
At present, the insert of new attributes in JdbcOperationsSessionRepository is done unconditionally. This can cause data integrity violation errors with concurrent requests, where one request attempts to add new session attribute while the other, concurrent request, deletes the session.
This commit addresses the described scenario by executing insert of new attributes conditionally on presence of parent record.
Closes gh-1031
2018-08-13 06:28:42 +02:00
Vedran Pavic
3d2a742328
Use Spring Java Format Checkstyle
...
Closes gh-1113
2018-07-23 15:16:35 +02:00
Vedran Pavic
7ac6e458e0
Update integration tests
2018-07-23 12:15:14 +02:00
Vedran Pavic
936fc853df
Ensure Session#getAttributeNames implementations return a copy
...
Currently, Session#getAttributeNames implementations, by delegating to MapSession, all return a session attribute map's key set. This causes ConcurrentModificationException when an attempt to modify session attributes is made while iterating over the returned attribute names.
Closes gh-1120
2018-07-17 15:05:03 +02:00
Vedran Pavic
f4704293a1
Update integration tests
2018-06-08 16:48:31 +02:00
Vedran Pavic
b6348736ac
Polish contribution
...
Closes gh-1070
2018-05-14 10:38:27 +02:00
Craig Andrews
60581c6427
Fix delta handling in JdbcOperationsSessionRepository
...
See gh-1070
2018-05-13 21:05:34 +02:00
Vedran Pavic
b2711600e2
Polish contribution
...
Closes gh-1014
2018-05-08 17:35:49 +02:00
Ivan Sopov
06eb768721
Remove redundant index in JDBC schema scripts
...
See gh-1014
2018-05-08 17:33:16 +02:00
Vedran Pavic
1e93fe87db
Upgrade test dependencies
2018-05-08 17:14:07 +02:00
Vedran Pavic
538712d162
Fix compilation warnings
2018-05-04 18:05:39 +02:00
Vedran Pavic
bb1c099094
Optimize batch operations in JdbcOperationsSessionRepository
...
This commit optimizes session attribute saving by ensuring batch updates are used whenever possible. To make this possible, delta now tracks operations for each attribute change in order to be able to deduce SQL operation.
Additionally, if there is only a single attribute change, regular update is executed rather than batch operation.
Closes gh-1051
2018-05-04 16:33:47 +02:00