Message Queuing Interface for Step Control

Registered by Matthias Ronge

The Goobi Interface to create processes could be realised as an ActiveMQ consumer.

It could be implemented as a ServletContextListener, which, on startup, connects to a given "activeMQ.hostURL" and registers as consumer to a queue configured by "activeMQ.createNewProcess.queue".

It expects MapMessages on that queue containing:

String id: ID to be used as digital PPN *and* process title
String template: name of the process template to use
String opac: Cataloge to use for lookup
String field: Field to look into, usually "PPN"
String value: Value to look for, id of physical medium
Set<String> collections: Collections to be selected

It will then create a new process and report the result (success/fatal, see below) to "activeMQ.results.topic", if configured. This could be the result reporting format:

Date timestamp: Date & time the report was generated
String queue: The name of the queue the origin message was sent in
String id: The "id" of the message
String level: Should be one of fatal / error / warn / info / success / debug / verbose / ludicrous. "success" indicates the request was processed correctly, "fatal" indicates that Goobi gave up trying to process the message du to an error which cannot be handled. The others are informative.
String message: Optional, may be used for error messages

Blueprint information

Ralf Claussnitzer
Matthias Ronge
Matthias Ronge
Series goal:
Accepted for 1.8
Milestone target:
milestone icon 1.8.0
Started by
Ralf Claussnitzer
Completed by
Ralf Claussnitzer


A reference implementation has been provided:

-- Matthias Ronge, Zeutschel, 11.05.2012

This feature is complete now. A merge request was added 28. June 2012.

-- Matthias Ronge, Zeutschel, 2012-07-03

Unrelated extra JSPs got removed in branch before merge.

-- Ralf Claussnitzer, SLUB, 2012-07-27


Work Items

This blueprint contains Public information 
Everyone can see this information.