Details
-
Type:
Task
-
Status: Backlog
-
Priority:
Major
-
Resolution: Unresolved
-
Labels:None
Description
Hello Willa,
I was trying to run and edit the project done by Wyclif (link attached). In the project (openmrs-eip), Wyclif used two routes to transfer data from source to destination. But my plan is to use one rout to transfer data from one OpenMRS to another OpenMRS.
The main source code of Wyclif project is given here: https://github.com/openmrs/openmrs-eip
In the Docker environment, Wyclif created two containers for two MySQL servers on different ports. To follow his instruction, I installed and run the Docker. Then I learned about how the Docker creates Container and created some example Containers. Learning Docker was great on the Linux environment through the installation of Ubuntu 16.04.
Wyclif’s instruction to run Distribution configuration
https://github.com/openmrs/openmrs-eip/tree/master/distribution/springboot_setup
When I tried to run Wyclif’s Docker file to Launch 'remote' and 'central' MySQL containers using the command, I embraced errors.
cd distribution/springboot_setup/db
docker-compose up
As a new Docker learner, it took time to identify the issue from where the error comes. I am sharing here the error source since we may face this similar issue later.
In Wyclif’s document, the REMOTE MySQL was running on the 3307:3306 (See the attached picture) PORT which is WRONG. This PORT number should be so far I understood 3307:3307. Correct me if I am wrong. Because the CENTRAL MySQL was running on 3306:3306 (that means PORT# 3306). So the REMOTE server should run on PORT# 3307:3307.
Fixing the PORT number, I found errors again as the MySQL Containers (REMOTE and CENTRAL) were not creating in the Docker environment using the docker-compose up command. Doing some research, I figured out my previous MySQL server (Not as Docker Container) was RUNNING. That problem didn’t allow the Docker to create these two new MySQL Containers.
Solution: STOP the existing MySQL services, then REMOVE or STOP all the MySQL containers in Docker those are previously running on the same port)....a new experience.
Then I could import database restoring database archive for each database (Step#2).
In the command of Step#3, I am a little confused about the file configuration that is used to exchange data between the sender and the receiver by the file Camel endpoint.
Although I configured the two files (app/src/main/resources/application-sender.properties and app/src/main/resources/application-receiver.properties) following Wyclif’s instruction, it seems to me that I need to change somewhere else too because my plan is to make the data transfer between two MySQL servers using only one ROUT. As Wyclif’s code sent data into TWO ROUTs, I think I need help to fix the configuration files for Transfering data using a single ROUT.
Step #4 and #5 worked well.
Following the instruction (Step #6) of Wyclif’s project, I found another error when running this command.
cd distribution/springboot_setup/sender
java -jar -Dspring.profiles.active=sender ../../../app/target/openmrs-sync-app-1.0-SNAPSHOT.jar
Problem: There is no jar file named openmrs-sync-app-1.0-SNAPSHOT.jar
Solution: The jar file name would be openmrs-eip-app-1.0-SNAPSHOT.jar. Because this jar file is available in that directory. I think Wyclif used the previous file name to create the jar file and forgot to update the document later.
In the last step (Step 6), I run the given command but found error (attached).
Could you tell me why this error is coming? It seems Tomcat is generating error but I didn’t see any function of Tomcat in this project. I hope you will understand better than me. I am also skeptical about the ROUT information but I couldn’t figure out where it is described. When I ran the Step#6, I faced the following error (snapshots are attached).