Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

The Detail field of an event (accessed by event

...

.getDetail()

...

returns
a String whose significance varies by the type of event and the type of subject it is
about, as follows:

Panel
borderColor#ccc
bgColor#fff
borderStyledashed
titleContents of the Detail field in an EventborderStyledashed

subject.getSequenceID()

code

object.getSequenceID()

code

subject.getHandle()

object.getName()

code

codecode

subject.getHandle()

code

object.getHandle()

codecode

EPerson

Group

subject.getName()

code

Site

Object Type

Create

Delete

Add

Remove

Modify

ModifyMetadata

code

Bitstream

null,"REGISTER"

Code Block

n/a

n/a

null

field list

Bundle

null

code

subject.getName()

code

object.getSequenceID()

Code Block

null

null

Item

null

Code Block
Code Block

object.getName()

null, "WITHDRAW", "REINSTATE"

DC field list

Collection

subject.getHandle()

Code Block

object.getHandle()

Code Block

"remove_template_item",null

metadata field names

Community

subject.getHandle()

code

subject.getHandle()

code

object.getHandle()

code

object.getHandle()

null

metadata field names

Code Block

null

code

subject.getEMail()

n/a

n/a

null

field names

Code Block

null

Code Block

object.getEMail(),

object.getName()

code

object.getEMail(),

object.getName()

n/a

"name"

Code Block

n/a

n/a

code

object.getHandle()

n/a

n/a

n/a

Key:

  • n/a means the event does not occur; for example, a Bitstream cannot add or remove members.
  • null means the field is set to the null value.
  • A comma-separated list describes several different possibilities.

...

event.consumer.name.filters - Defines a set of event filters for the named Consumer. The value is a list of "filters" which select the events this consumer will see, selected by combinations of DSpace object type and action. The filter list value consists of a set of filter clauses separated by colons (:). Each clause is a set of DSpace Object types, a plus sign (+), and a set of actions. The object and action lists are
separated by vertical-bar (|). Here is a rough grammar:

unmigrated-wiki-markup
Panel

filter-list ::= filter \ [ ":" filter \ ]..

filter ::= object-set "+" action-setunmigrated-wiki-markup

object-set ::= object \ [ "\|" object\]..unmigrated-wiki-markup

action-set ::= action \ [ "\|" action\]..

object ::= "All" | "Bitstream" | "Bundle" | "Item" | "Collection" | "Community" | "Site" | "Group" | "Eperson"

action ::= "All" | "Create" | "Modify" | "Modify_Metadata" | "Add" | "Remove" | "Delete"

The special value "All" denotes all available objects or actions. The filter All+All allows all events through.

...

Check the default ActiveMQ configuration in dspace-install/_config/activemq.xml. The PostgreSQL login in particular may need to be configured for your site. ActiveMQ uses the database to keep tables of persistent events. They are automatically maintained to discard expired events.

Startup and Shutdown

...

To start the broker, run the command

...

The solution is simple: command-line applications must always call

...

System.exit()

...

before terminating, and not just run off the end of the main() method. (Though the fact that there is this distinction counts as a flaw in the Java runtime, IMHO; the Unix system call they are aping has no such restriction.)

This prototype includes patches to add System.exit() calls to all command-line applications that can generate events. It's a good idea to fix any application that generates events at all, whether or not you anticipate any of those events being asynchronous.

5. ActiveMQ needs a

...

separate broker process

The current configuration of ActiveMQ requires a separate "broker" listening at a well-known TCP port. For the prototype, it is started manually.

...