Server-Side

Messaging

The messaging technology used currently is Axon Server.

Deployment and Packaging

Kubernetes

Used to orchestrate the server side containers.

Product Website

Helm

Used for simplification of the packaging and deployment of the server-side components.

Product Website

Creating a resolver

Below is an example of the requirements to implement a resolver

@SpringBootApplication
public class App {
    public static void main(String[] args){
        SpringApplication.run(App.class, args); 
    }
}


@Component
public class ExpertsProvider implements ExpertsQueryListener {
	@QueryHandler
	@Override
	public List<Expert> on(AssociatedExpertsQuery query) {
		// TODO: compute values that need returning
		return new ArrayList<>();
	}
}

Using the following dependencies:

implementation 'org.axonframework:axon-spring-boot-starter:{axon-version}'
implementation 'com.dominiccobo.fyp:context-lsp-api:{api-version}'
implementation 'org.springframework.boot:spring-boot-starter-web:{spring-version}'
axon.axonserver.servers=${AXON_SERVER_HOSTNAME}

See GitHub WorkItems for examples.