InterPortlet Communication Event Generation and Listening - Some use cases
This note assumes you have a fair understanding of Sun Java Portal Server InterPortlet Communication. Pls see here for more information about IPC
(1) IPC portlets generating a event and listening to the same event
For a IPC portlet to generate or listen an event , it should first register this information in sun-portlet.xml file . Say a portlet "HelloWorldPortlet" generates a event "event1" and listen to the same can have the entry as below in its sun-portlet.xml file.
Example 1: A IPC portlet "HelloWorldPortlet" generates a event "event1" and listens to the same event "event1"
<portlet>
<portlet-name>HelloWorldPortlet</portlet-name>
<deployment-extension>
<extension-element>
<session-enabled>0</session-enabled>
</extension-element>
</deployment-extension>
<events>
<generates-event>event1</generates-event>
<consumes-event>event1</consumes-event>
</events>
</portlet>
(2) IPC portlets generating a event and listening to all the events generated by other portlets (and its own events too)
Example 2:A IPC portlet "HelloWorldPortlet" generates a event "event1" and listens any events generated by other portlets
<portlet>
<portlet-name>HelloWorldPortlet</portlet-name>
<deployment-extension>
<extension-element>
<session-enabled>0</session-enabled>
</extension-element>
</deployment-extension>
<events>
<generates-event>event1</generates-event>
<consumes-event>*</consumes-event>
</events>
</portlet>
Note : If a portlet requests an event which has not been declared in the sun-portlet.xml file, an exception NotRegisteredException will be thrown. Wild cards can not be used for declaring the events that will be generated.