All the portlets which are interested in listening or generating an event must declare it in the sun-portlet.xml file as shown below:
<portlet> <portlet-name>NAME</portlet-name> . <!-- Other declarations --> . <events> <generates-event>NAME</generates-event> <generates-event>NAME</generates-event> . . . <consumes-event>NAME</consumes-event> <consumes-event>NAME</consumes-event> . . . </events> </portlet>
If a portlet requests an event, which it has not declared in the sun-portal.xml file, an exception NotRegisteredException is thrown. Wildcards cannot be used for declaring the events that are generated. Portlets interested in consuming all the events can use wildcard character (*) as shown below:
<portlet> <portlet-name>NAME</portlet-name> . <!-- Other declarations --> . <events> <generates-event>NAME</generates-event> <generates-event>NAME</generates-event> . . . <consumes-event>*</consumes-event> </events> </portlet>