A JSR168-compliant implementation of inter-portlet communication

Note: there is now a new version of the messaging library available.

Screenshots of Test Messaging portlets in use

In this example, there are two portlets deployed in a single portlet application: Portlet1 and Portlet2.

  1. A page with four portlets: two instances each of Portlet1 and Portlet2.
    screenshot
  2. The same page, with all portlets in edit mode. This lets you see the message mappings: the inputs and outputs of the portlets. It's set up so that the Portlet1's on the left talk to the Portlet2's immediately to their right.
    screenshot
  3. Send a message from the top Portlet1. This will be put in public message box "b_val".
    screenshot
  4. The message is received by the top Portlet2 (which is configured to read from "b_val").
    Next, send a different message in the bottom Portlet1: this portlet is configured to send its message to the "2nd b_val" public message box.
    screenshot
  5. The second message is retrieved by the bottom Portlet2 from "2nd b_val". The top Portlet2 still sees the first message as it is still reading from "b_val".
    screenshot
  6. In Edit mode on the bottom Portlet2, change its mapping so that it reads its message in from "b_val" instead of "2nd b_val".
    screenshot
  7. As soon as we return to View mode, the bottom Portlet2 now retrieves the message from public message box "b_val", originally sent by the top Portlet1.
    screenshot