Tuscany
  1. Tuscany
  2. TUSCANY-3946

Capability to skip setting TCCL in JavaImplementationInvoker.invoke()

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Java-SCA-2.x
    • Fix Version/s: Java-SCA-2.x
    • Component/s: SCA Java Runtime
    • Labels:
      None

      Description

      Setting the TCCL in the JavaImplementationInvoker can interfere with runtimes extending the Tuscany OASIS runtime. So there should be a mechanism for products extending the runtime to be able to skip setting the TCCL in JavaImplementationInvoker.invoke().

        Activity

        Simon Laws made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Hide
        Simon Laws added a comment -

        I've had a bit of a change of heart about this one. I'm concerned that putting extra doPrivileged checks in the main message flow is going to have a negative impact on performance so I've swapped out that code so a check on the presence of a message header does the job now. If you want to set TCCL earlier in the chain add Constants.SUPPRESS_TCCL_SWAP to the message header and the implementation invoker won't try and repeat the process.

        Show
        Simon Laws added a comment - I've had a bit of a change of heart about this one. I'm concerned that putting extra doPrivileged checks in the main message flow is going to have a negative impact on performance so I've swapped out that code so a check on the presence of a message header does the job now. If you want to set TCCL earlier in the chain add Constants.SUPPRESS_TCCL_SWAP to the message header and the implementation invoker won't try and repeat the process.
        slaws committed 1212406 (2 files)
        Reviews: none

        TUSCANY-3946 - Had a bit of a change of heart about this one. I'm concerned that putting extra doPrivileged checks in the main message flow is going to have a negative impact on performance so I've swapped out that code so a check on the presence of a message header.

        slaws committed 1171532 (1 file)
        Hide
        Simon Laws added a comment -

        I have a local change that, before setting and resetting TCCL in JavaImplementationInvoker, asks whether the TCCL is already set to the contribution classloader. This is a simple change that requires no configuration and which shouldn't upset anything else.

        However I note that this change makes the same assumption that you're debating in TUSCANY-3947 so we need to work out what the answer to that is before closing this JIRA. I'll still commit my change for this assuming I get a clean build.

        Show
        Simon Laws added a comment - I have a local change that, before setting and resetting TCCL in JavaImplementationInvoker, asks whether the TCCL is already set to the contribution classloader. This is a simple change that requires no configuration and which shouldn't upset anything else. However I note that this change makes the same assumption that you're debating in TUSCANY-3947 so we need to work out what the answer to that is before closing this JIRA. I'll still commit my change for this assuming I get a clean build.
        Simon Laws made changes -
        Field Original Value New Value
        Assignee Simon Laws [ simonslaws ]
        Jennifer A Thompson created issue -

          People

          • Assignee:
            Simon Laws
            Reporter:
            Jennifer A Thompson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development