JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-2170

Improve implementation of MuleEndpointUri and AbstractEndpointBuilder

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Improvement Improvement
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 1.4.1, 2.0.0-M1
  • Fix Version/s: Tech. Debt
  • Component/s: Core: Endpoints
  • Labels:
    None
  • User impact:
    Low
  • Effort points:
    2
  • Similar Issues:
    None

Description

While investigating the cause of MULE-2164 i looked carefully at these implementations, and found a number of issues:

  • When MuleEndpointURI's are copied/reconstructed the value of schemaMetaInfo is lost and the value of address gets "mangled" (See MULE-2164)
  • EndpointBuilder/AbstractEndpointBuilder should be called EndpointURIBuilder/AbstractEndpointURIBuilder
  • AbstractEndpointBuilder has dynamic state and is therefore not thread-safe! (values are set to null manually ready for the next thread (but method is not synchronized ) )
  • The MuleEndpoint(URI)Builder exists but does not build EnpointURI's, MuleEndpointURI's are created through a mix of constructors, initialize methods and the MuleEndpointBuilder.
  • AbstractEndpointBuilder set's MuleEndpointURI attributes by creating a new MuleEnpointURI instance and then copying values onto existing instance.
  • MuleEndpointURI.getSchemeMetaInfo() which is an explicit get for schemeMetaInfo returns a value is there is no schemeMetaInfo

There is also a need to verify the correct implementation (and usage throughout codebase) of getScheme()/getScehemeMetaInfo()/getFullScheme()/getAddress()/getUri()

Issue Links

relates to

Bug - A problem which impairs or prevents the functions of the product. MULE-2164 Copied endpointURI's lose value of "schemeMetaInfo" and have incorrect "address"

  • Minor - Minor loss of function, or other problem where easy workaround is present.
  • Reopened - This issue was once resolved, but the resolution was deemed incorrect. From here issues are either marked assigned or resolved.

Bug - A problem which impairs or prevents the functions of the product. MULE-1677 Problems with the endpoint address format when using Axis over JMS

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Bug - A problem which impairs or prevents the functions of the product. MULE-1839 Axis transport fails to pass tests in 2.0

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Improvement - An improvement or enhancement to an existing feature or task. MULE-2495 Restrict visibility of UMOEndpointURI attributes once endpoints are created or use something else.

  • Major - Major loss of function.
  • Open - The issue is open and ready for the assignee to start work on it.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Daniel Feist made changes - 17/Aug/07 11:11 AM
Field Original Value New Value
Priority To be reviewed [ 6 ] Major [ 3 ]
Daniel Feist made changes - 17/Aug/07 11:12 AM
Description While investigating the cause of MULE-2164 i looked carefully at these implementations, and found a number of issues:

- When MuleEndpointURI's are copied/reconstructed the value of schemaMetaInfo is lost and the value of address gets "mangled" (See MULE-2164)
- EndpointBuilder/AbstractEndpointBuilder should be called EndpointURIBuilder/AbstractEndpointURIBuilder
- AbstractEndpointBuilder has dynamic state and is therefore not thread-safe! (values are set to null manually ready for the next thread (but method is not synchronized :-)) )
- The MuleEndpoint(URI)Builder exists but does not build EnpointURI's, MuleEndpointURI's are created through a mix of constructors, initialize methods and the MuleEndpointBuilder.
- AbstractEndpointBuilder set's MuleEndpointURI attributes by creating a new MuleEnpointURI instance and then copying values onto existing instance.
- MuleEndpointURI.getSchemeMetaInfo() which is an explicit get for schemeMetaInfo returns a value is there is no schemeMetaInfo

There is also a need to verify the correct implementation (and usage throughout codebase) of getScheme()/getScehemeMetaInfo()/getFullScheme()/getScheme()
While investigating the cause of MULE-2164 i looked carefully at these implementations, and found a number of issues:

- When MuleEndpointURI's are copied/reconstructed the value of schemaMetaInfo is lost and the value of address gets "mangled" (See MULE-2164)
- EndpointBuilder/AbstractEndpointBuilder should be called EndpointURIBuilder/AbstractEndpointURIBuilder
- AbstractEndpointBuilder has dynamic state and is therefore not thread-safe! (values are set to null manually ready for the next thread (but method is not synchronized :-)) )
- The MuleEndpoint(URI)Builder exists but does not build EnpointURI's, MuleEndpointURI's are created through a mix of constructors, initialize methods and the MuleEndpointBuilder.
- AbstractEndpointBuilder set's MuleEndpointURI attributes by creating a new MuleEnpointURI instance and then copying values onto existing instance.
- MuleEndpointURI.getSchemeMetaInfo() which is an explicit get for schemeMetaInfo returns a value is there is no schemeMetaInfo

There is also a need to verify the correct implementation (and usage throughout codebase) of getScheme()/getScehemeMetaInfo()/getFullScheme()/getAddress()/getUri()
Daniel Feist made changes - 17/Aug/07 12:20 PM
Link This issue relates to MULE-2164 [ MULE-2164 ]
Daniel Feist made changes - 17/Aug/07 12:20 PM
Link This issue relates to MULE-1839 [ MULE-1839 ]
Daniel Feist made changes - 17/Aug/07 12:20 PM
Link This issue relates to MULE-1677 [ MULE-1677 ]
Travis Carlson made changes - 17/Aug/07 05:11 PM
Fix Version/s 2.0-M2 [ 10291 ]
Travis Carlson made changes - 22/Aug/07 06:40 AM
Fix Version/s 2.0-M2 [ 10291 ]
Dirk Olmes made changes - 19/Sep/07 04:44 AM
Fix Version/s 2.0-RC1 [ 10302 ]
Daniel Feist made changes - 05/Oct/07 05:07 PM
Labels
Component/s Core: (other) [ 10168 ]
Component/s Core: Endpoints [ 10400 ]
Daniel Feist made changes - 05/Oct/07 05:26 PM
Link This issue relates to MULE-2495 [ MULE-2495 ]
Travis Carlson made changes - 12/Dec/07 03:32 PM
Fix Version/s 2.0.x Backlog [ 10352 ]
Fix Version/s 2.0.0-RC1 [ 10302 ]
Travis Carlson made changes - 27/Dec/07 10:10 AM
Fix Version/s 2.0.x Backlog [ 10352 ]
Daniel Feist made changes - 28/Feb/08 06:29 AM
Fix Version/s 2.0.0-RC3 [ 10311 ]
Daniel Feist made changes - 04/Mar/08 09:15 AM
Labels
Fix Version/s 2.0.x Backlog [ 10352 ]
Fix Version/s 2.0.0-RC3 [ 10311 ]
Andrew Perepelytsya made changes - 06/May/08 11:10 AM
Workflow Copy of Main Mule Workflow [ 36531 ] Fixed Main Mule Workflow (after JIRA upgrade) [ 61838 ]
Andrew Perepelytsya made changes - 15/May/08 10:18 AM
Workflow Fixed Main Mule Workflow (after JIRA upgrade) [ 61838 ] Copy of Main Mule Workflow [ 65665 ]
Andrew Perepelytsya made changes - 15/May/08 10:54 AM
Workflow Copy of Main Mule Workflow [ 65665 ] Fixed Main Mule Workflow (after JIRA upgrade) [ 69363 ]
Daniel Feist made changes - 14/Jul/08 08:58 AM
Fix Version/s 2.x Backlog [ 10440 ]
Fix Version/s 2.0.x Backlog [ 10352 ]
Daniel Feist made changes - 19/Nov/08 08:07 AM
Fix Version/s Tech. Debt [ 10572 ]
Fix Version/s 2.x Backlog [ 10440 ]
Daniel Feist made changes - 28/Nov/08 07:36 AM
Labels 22-techdebt-candidates
Daniel Feist made changes - 28/Nov/08 07:37 AM
Effort points 2
Daniel Feist made changes - 12/Dec/08 09:22 AM
Labels 22-techdebt-candidates

People

  • Assignee:
    Daniel Feist
    Reporter:
    Daniel Feist
Vote (0)
Watch (0)

Dates

  • Created:
    17/Aug/07 11:11 AM
    Updated:
    12/Dec/08 09:22 AM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.