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



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


      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.




            ay Akitoshi Yoshida
            ay Akitoshi Yoshida
            0 Vote for this issue
            0 Start watching this issue