Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-4270

Store bus-id with the endpoint name in WS-RM's RMTxStore to correctly recover two endpoints with the same endpoint name

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 2.5.4, 2.6.1
    • WS-* Components
    • None
    • Unknown

    Description

      In WS-RM's RMTxStore, currently no bus information is stored along the endpoint name (i.e., endpoint's port name + its service name). And this causes a problem when, for example, two endpoints, each configured at its own bus, have the same endpoint name, as the stored RM sequences cannot be uniquely associated with the original endpoints at the system recovery.

      Storing the bus-id as a separate column requires a change in the RMStore's API, either in its existing sequences retrieval method (the sequence storing method needs no change as the bus ID can be obtained from its sequence argument) or adding a new setBus(Bus) method to associate a store instance to a specific bus. These are significant disadvantages.

      Therefore, in this improved implementation, the bus-id will be stored with the current endpoint name in that same column.

      Note that the default buses (those with auto-generated "cxfxxxxx" bus Ids) will use simply the bus identifier "cxf" so that they can find their sequences, including possibly of others, but this behavior is identical to the current limitation.

      In other words, the new RMStore will distinguish two endpoints having the same endpoint name that are assigned to two buses that have explicitly configured unique busId values.

      Attachments

        Activity

          People

            ay Akitoshi Yoshida
            ay Akitoshi Yoshida
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: