Custodia sobre Oracle
Viafirma platform permite varios mecanismos para la custodia de documentos firmados, entre ellos, la persistencia en Oracle.
Para habilitar este tipo de custodia tendrás que tener en cuenta lo siguiente:
Configuración de custodia
Dentro del fichero de configuración viafirmaConfig.properties
debes especificar la siguiente custodia:
Param | Valor |
---|---|
REPOSITORIO_IMPL |
org.viafirma.util.OracleManagerFile |
oracle_manager.default.datasourcename |
java:comp/env/jdbc/default_manager |
Configuración de la conexión a la DB
Dentro del contexto de viafirma o en la configuración de la aplicación, dependiendo del contenedor de aplicaciones a usar, definir el resource de conexión a la DB:
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = myHost1)(PORT = 1521))) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = serviceName)))
user="username"
password="****"
Driver JDBC
En caso del que el contendor en el que se despliegue viafirma no cuente ya con el driver JDBC de Oracle, habrá que copiar en el directorio espcífico para librerías del contenedor de aplicaciones el driver facilitado en el kit de instalación, por ejemplo, ojdbc14.jar
.
Script SQL
Para la custodia en Oracle se hará uso de una única tabla:
CREATE TABLE "custodia_oracle"
( "id" NUMBER(10,0),
"document_uri" CHAR(50) NOT NULL ENABLE,
"data" BLOB NOT NULL ENABLE,
"timestamp" TIMESTAMP (6) NOT NULL ENABLE,
"version" CHAR(10),
CONSTRAINT "PK_CUSTODIA" PRIMARY KEY ("id") ENABLE
);
CREATE UNIQUE INDEX "INDEX_CUSTODIA" ON "custodia_oracle" ("id", "document_uri");
CREATE SEQUENCE "INCREMENTO_ID" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 221 CACHE 20 NOORDER NOCYCLE;
CREATE OR REPLACE TRIGGER "SEQUENCE_TRIGGER"
BEFORE INSERT ON "custodia_oracle"
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
WHEN (
NEW."id" IS NULL
) BEGIN
SELECT incremento_id.NEXTVAL INTO :NEW."id" FROM dual;
END;
ALTER TRIGGER "SEQUENCE_TRIGGER" ENABLE;
results matching ""
No results matching ""