diff options
author | Kevin McKiou <km097d@att.com> | 2017-08-22 16:08:06 -0500 |
---|---|---|
committer | Jorge Hernandez <jh1730@att.com> | 2017-08-22 22:04:57 +0000 |
commit | 36cf73f8313cbd1baac4bc41565bee23690fc152 (patch) | |
tree | a2fc708564a866403163d084eb781bbe9bc5cbf6 /feature-session-persistence/src/main/feature | |
parent | 9356ffd28172c6cd0ea3ce80c4a49f4d8525bb30 (diff) |
Add feature-session-persistence
This commit adds the feature-session-persistence module
which will persist drools session data to allow stateful
transactions which can persist across node restarts and
failovers. It also picks up recent changes to the master
branch to avoid merge conflicts.
Issue-ID: POLICY-133
Change-Id: Ifdcd8280ea6df07db79562f1b01fa90296a8b878
Signed-off-by: Kevin McKiou <km097d@att.com>
Diffstat (limited to 'feature-session-persistence/src/main/feature')
2 files changed, 88 insertions, 0 deletions
diff --git a/feature-session-persistence/src/main/feature/config/feature-session-persistence.properties b/feature-session-persistence/src/main/feature/config/feature-session-persistence.properties new file mode 100644 index 00000000..6204b5ed --- /dev/null +++ b/feature-session-persistence/src/main/feature/config/feature-session-persistence.properties @@ -0,0 +1,28 @@ +### +# ============LICENSE_START======================================================= +# feature-session-persistence +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +javax.persistence.jdbc.driver= org.mariadb.jdbc.Driver +javax.persistence.jdbc.url=jdbc:mariadb://${{SQL_HOST}}:3306/sessionpersistence +javax.persistence.jdbc.user=${{SQL_USER}} +javax.persistence.jdbc.password=${{SQL_PASSWORD}} +hibernate.dataSource=org.mariadb.jdbc.MySQLDataSource + +#Seconds timeout - 15 minutes +persistence.sessioninfo.timeout=900
\ No newline at end of file diff --git a/feature-session-persistence/src/main/feature/db/sessionpersistence/sql/18020-sessionpersistence.upgrade.sql b/feature-session-persistence/src/main/feature/db/sessionpersistence/sql/18020-sessionpersistence.upgrade.sql new file mode 100644 index 00000000..0e980968 --- /dev/null +++ b/feature-session-persistence/src/main/feature/db/sessionpersistence/sql/18020-sessionpersistence.upgrade.sql @@ -0,0 +1,60 @@ +/*- + * ============LICENSE_START======================================================= + * feature-session-persistence + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +set foreign_key_checks=0; + +CREATE TABLE if not exists sessionpersistence.DROOLSSESSIONENTITY +( +sessionName VARCHAR(255) NOT NULL, +sessionId BIGINT NOT NULL, +createdDate TIMESTAMP NOT NULL, +updatedDate TIMESTAMP NOT NULL, +PRIMARY KEY (sessionName) +); + +CREATE TABLE if not exists sessionpersistence.SESSIONINFO +( +ID BIGINT NOT NULL AUTO_INCREMENT, +LASTMODIFICATIONDATE TIMESTAMP, +RULESBYTEARRAY BLOB, +STARTDATE TIMESTAMP default current_timestamp, +OPTLOCK INTEGER, +PRIMARY KEY (ID) +); + +CREATE TABLE if not exists sessionpersistence.WORKITEMINFO +( +WORKITEMID BIGINT NOT NULL AUTO_INCREMENT, +CREATIONDATE TIMESTAMP default current_timestamp, +`NAME` VARCHAR(500), +PROCESSINSTANCEID BIGINT, +STATE BIGINT, +OPTLOCK INTEGER, +WORKITEMBYTEARRAY BLOB, +PRIMARY KEY (WORKITEMID) +); + +CREATE TABLE IF NOT EXISTS sessionpersistence.SESSIONINFO_ID_SEQ (next_val bigint) engine=MyISAM; +INSERT INTO sessionpersistence.SESSIONINFO_ID_SEQ (next_val) SELECT 1 WHERE NOT EXISTS (SELECT * FROM sessionpersistence.SESSIONINFO_ID_SEQ); + +CREATE TABLE IF NOT EXISTS sessionpersistence.WORKITEMINFO_ID_SEQ (next_val bigint) engine=MyISAM; +INSERT INTO sessionpersistence.WORKITEMINFO_ID_SEQ (next_val) SELECT 1 WHERE NOT EXISTS (SELECT * FROM sessionpersistence.WORKITEMINFO_ID_SEQ); + +set foreign_key_checks=1;
\ No newline at end of file |