Рубрики
Без рубрики

Плагин Grails для весенней сессии (Часть 3)

Привет, ребята, надеюсь, у вас все хорошо! Я был очень занят с момента моего последнего поста в блоге. Итак, этот пост – часть о… Помеченный граалями, java, весенняя сессия, заводной.

Привет, ребята, надеюсь, у вас все хорошо!

Я был очень занят с момента моего последнего поста в блоге. Итак, этот пост является частью серии блогов плагинов Grails для весенней сессии, в которой будет рассказано о JDBC как о вашем хранилище данных.

В этом сообщении в блоге я объясню, как вы можете использовать JDBC в качестве хранилища сеансов. Чтобы использовать JDBC в качестве хранилища данных, вам необходимо создать две таблицы в вашей базе данных. Весенняя сессия не использует никаких инструментов ORM. Вам нужно будет создать две таблицы, одна для сеанса, а другая для атрибутов сеанса, и формат будет таким <ТАБЛИЦА СЕАНСА> и <ТАБЛИЦА СЕАНСОВ>_АТРИБУТЫ “.

CREATE TABLE SPRING_SESSION (
  SESSION_ID CHAR(36),
  CREATION_TIME BIGINT NOT NULL,
  LAST_ACCESS_TIME BIGINT NOT NULL,
  MAX_INACTIVE_INTERVAL INT NOT NULL,
  PRINCIPAL_NAME VARCHAR(100),
  CONSTRAINT SPRING_SESSION_PK PRIMARY KEY (SESSION_ID)
);

CREATE INDEX SPRING_SESSION_IX1 ON SPRING_SESSION (LAST_ACCESS_TIME);

CREATE TABLE SPRING_SESSION_ATTRIBUTES (
 SESSION_ID CHAR(36),
 ATTRIBUTE_NAME VARCHAR(200),
 ATTRIBUTE_BYTES BYTEA,
 CONSTRAINT SPRING_SESSION_ATTRIBUTES_PK PRIMARY KEY (SESSION_ID, ATTRIBUTE_NAME),
 CONSTRAINT SPRING_SESSION_ATTRIBUTES_FK FOREIGN KEY (SESSION_ID) REFERENCES SPRING_SESSION(SESSION_ID) ON DELETE CASCADE
);

CREATE INDEX SPRING_SESSION_ATTRIBUTES_IX1 ON SPRING_SESSION_ATTRIBUTES (SESSION_ID);

Чтобы изменить хранилище данных, вам необходимо добавить свойство в свой Чтобы изменить хранилище данных, вам необходимо добавить свойство в свой

springsession.sessionStore=SessionStore.JDBC

Это установит JDBC в качестве вашего хранилища данных. По умолчанию он попытается подключиться к базе данных H2 . Давайте проверим некоторые свойства конфигурации со значениями по умолчанию.

Примечание: Некоторые из общих свойств, описанных в части 1. Они будут работать одинаково для хранилища данных JDBC .

springsession.jdbc.driverClassName="org.h2.Driver" // Driver class default is H2 driver
springsession.jdbc.url="jdbc:h2:~/test" // JDBC Connection string
springsession.jdbc.username="" // JDBC username. Default is "".
springsession.jdbc.password="" // JDBC password. Default is "".
springsession.jdbc.tableName="SessionData" // table name to store sessions

springsession.jdbc.pool.maxActive=10 // Connection pool max active
springsession.jdbc.pool.maxTotal=20 // Connection pool max total
springsession.jdbc.pool.minIdle=3 // Connection pool min idle
springsession.jdbc.pool.maxWaitMillis=10000 // Connection wait time
springsession.jdbc.pool.defaultAutoCommit=true // autocommit true by default
springsession.jdbc.pool.defaultReadOnly=false // read only sessions
springsession.jdbc.pool.defaultTransactionIsolation=Connection.TRANSACTION_READ_COMMITTED // transaction isolation  
springsession.jdbc.pool.validationQuery="SELECT 1" // Validate connection query

По умолчанию он использует сериализацию Java. Чтобы использовать сериализацию JSON, пожалуйста, посетите первый блог этой серии. Первые 2 шага будут такими же, но через 3 й шаг Зарегистрируйте мой класс модуля с помощью плагина spring-session вам придется использовать конкретное свойство JDBC jackson.modules .

springsession.jdbc.jackson.modules = ['demo.SimpleModule']

Оригинал: “https://dev.to/jeetmp3/spring-session-grails-plugin-part-3-5b3l”