Introduction
Eiffel REMReM Semantics is a set of protocol defined messages that contains templates and schemas for Eiffel message types. It implements the Eiffel REMReM Protocol Interface. Eiffel REMReM Semantics is used to check, generate and validate Eiffel messages. This project contains JSON schemas to validate JSON message to met the Eiffel protocol. This project contains information about how to form a routing key that will be added to the generated message.
Installation
This project does not need any installation. It is used as external library that will be included as a dependency to other projects.
This project is build by maven, by executing following commands:
mvn clean install
The produced jar file will be stored in /eiffel-remrem-semantics/target/
To update the schemas in semantics with latest changes in eiffel and operation repo schemas execute the maven profile process-schemas like below
mvn clean install -P process-schemas
By executing the process-schemas profile you will get the latest schemas from both eiffel repository and eiffel-operations repository.
After updating the schemas execute the profile generate-events to generate pojo clases by using updated schemas.
mvn clean install -P generate-events
Note:
Execute the above mentioned maven profiles in order what they were declared if there is any change in schemas of eiffel or eiffel-operations repository.
Configuration
This project does not need any configuration. It is used as external library that will be included as a dependency to other projects.
Compatibility
The version of Eiffel REMReM Semantics should implement the desired version of Eiffel REMReM Protocol Interface.
Usage
Example on how to use the semantics protocol library
Routing and Binding Key concepts
Please refer to eiffel syntax and
eiffel vocabulary for usage.
Please note that meta.id,
meta.time, meta.version are generated by Eiffel REMReM Generate.