Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are multiple implementations of the server depending on the environment. The easiest way to set up the server is however to spin the docker image. Instruction and source files can be found here. In the most basic way, starting the server results in just two shell commands:

SIP2 Mock Server

Build Application

mvn clean install

Building Image

sudo docker build -t phase4-scsb-sip-mock-server .

Running Container

sudo docker run --name phase4-sip2scsb-sip-mock-server --restart always -v /data:/recap-vol  vol -p 8012<port>:8012 <port> -e "ENV=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath= /recap -vol/phase4-scsb-mock-nypl-server/heapdump/  -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" -Dspring.config.location=/recap-vol/config/external-sip-application.properties " --network=scsb -d phase4-scsb-sip2sip-mock-server

 NYPL Mock Server

 sudo external-sip-application properties

#Database information

spring.datasource.url=jdbc:mysql://<mysqlip>:<mysqlport>/<scheme>?autoReconnect=true&serverTimezone=A merica/New_York&useSSL=false

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.username=XXXX

spring.datasource.password=XXXXX

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

ils.mock.sip.server.url=<ContainerName>

ils.mock.sip.server.port=<port>

Properties to Update -

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='<ContainerName>' WHERE `P_KEY`='ils.server' AND `INSTITUTION_CODE`='CUL';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='<port> ' WHERE `P_KEY`='ils.server.port' AND `INSTITUTION_CODE`='CUL';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`=XXXXX WHERE `P_KEY`='ils.server.operator.user.id' AND `INSTITUTION_CODE`='CUL';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`=XXXXX WHERE `P_KEY`='ils.server.operator.password' AND `INSTITUTION_CODE`='CUL';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`=XXXXXX WHERE `P_KEY`='ils.server.operator.location' AND `INSTITUTION_CODE`='CUL';

REST Mock Server

Build Application

mvn clean install -DskipTests=true

Building Image

sudo docker build -t phase4-scsb-rest-mock

...

-server .

Running Container

sudo docker run --name phase4-scsb-rest-mock-

...

server -v /data:/recap-vol -p

...

<port>:

...

<port> -e "

...

sudo docker inspect phase4-scsb-mock-nypl-server | grep IPAddress

LAS Mock Server

ENV= -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" -Dspring.config.location=/recap-vol/config/external-rest-application.properties -Dserver.port=<port>" --network=scsb -d phase4-scsb-rest-mock-server

external-rest-application.properties

#Database information spring.datasource.url=jdbc:mysql://<mysqlip>:<mysqlport>/<scheme>?autoReconnect=true&serverTimezone= America/New_York&useSSL=false

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.username=XXXXX

spring.datasource.password=XXXX

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

Properties to Update

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/rest' WHERE `P_KEY`='ils.rest.data.api' AND `INSTITUTION_CODE`='NYPL';

NCIP Mock Server

Build Application

./gradlew clean build

Building Image

sudo docker build -t phase4-scsb-ncip-mock-server .

Running Container -

sudo docker run --name phase4-scsb-ncip-mock-server -p <port>:<port> --network=scsb -d phase4-scsb-ncip-mock-server

Properties to Update -

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/ncip' WHERE `P_KEY`='ils.server' AND `INSTITUTION_CODE`='PUL';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/ncip' WHERE `P_KEY`='ils.server' AND `INSTITUTION_CODE`='HL';

LAS Mock Server

Build Application

./gradlew clean build -x test

Building Image

sudo docker build -t phase4-scsb-las-mock-las-server  .
docker images | grep none | awk '{ print $3; }' | xargs docker rmiserver .

Running Container

sudo docker run --name phase4-scsb-las-mock-las-server --restart always -v /data:/recap-vol  vol -p 9103 <port>:9103 <port> -e "ENV=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath= /recap -vol/phase4-scsb-mock-las-server/heapdump/  -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" -Dspring.config.location=/recap-vol/config/external-las-application.properties " --network=scsb -d phase4-scsb-las-mock-server

external-las-application.properties

#Database information

spring.datasource.url=jdbc:mysql://<mysqlip>:<mysqlport>/<scheme>?autoReconnect=true&serverTimezon e=America/New_York&useSSL=false spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.username=XXXX

spring.datasource.password=XXXX

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

#ActiveMQ

activemq.broker.url=tcp://localhost:61613

activemq.jmx.service.url=service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi activemq.web.console.url=http://localhost:8161

activemq.credentials=admin:admin

activemq.jolokia.api.url=/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localh ost,destinationType=Queue,destinationName= activemq.jolokia.api.queue.size.attribute=/QueueSize

Properties to Update

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/lasStatus' WHERE `P_KEY`='ims.server.status.endpoint';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/itemStatus' WHERE `P_KEY`='ims.item.status.endpoint';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/retrieveItem' WHERE `P_KEY`='ims.item.retrieval.order.endpoint';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/retrieveEDD' WHERE `P_KEY`='ims.item.edd.order.endpoint';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/permanentlyRetriev eItem' WHERE `P_KEY`='ims.item.permanent.withdrawal.direct.endpoint';

UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/permanentlyRetriev eItemIndirect' WHERE `P_KEY`='ims.item.permanent.withdrawal.indirect.endpoint';

 Example -

Request  For Request Item

...