You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-dev@ws.apache.org by "Vinh Nguyen (JIRA)" <ji...@apache.org> on 2007/09/06 00:59:33 UTC
[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues
[ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12525248 ]
Vinh Nguyen commented on MUSE-270:
----------------------------------
The following updates fix the multi-thread notifications issue for me:
1) Updated EndpointReference.java. Changed all XmlUtils.EMPTY_DOC references to XmlUtil.createDocument(). This is because a resource's EPR and its Element representation can be accessed from multiple threads.
2) Updated SimpleNotificationMessage.toXML(). Changed XmlUtils.EMPTY_DOC reference to XmlUtils.createDocument(). This is because EndpointReference.toXML(Document) creates an Element and XmlUtils.getAllNamespaces(root) is called on it.
3) Updated NotificationConsumerClient.notify(NotificationMessage[] messages) to not assume that messages[x].toXML() will return an Element whose owner is EMPTY_DOC.
Changed these lines:
Element notify = XmlUtils.createElement(WsnConstants.NOTIFY_QNAME);
for (int n = 0; n < messages.length; ++n)
notify.appendChild(messages[n].toXML(), true);
To these lines:
Document doc = XmlUtils.createDocument();
Element notify = XmlUtils.createElement(doc, WsnConstants.NOTIFY_QNAME);
for (int n = 0; n < messages.length; ++n)
notify.appendChild(doc.importNode(messages[n].toXML(), true));
> EMPTY_DOC thread stability issues
> ---------------------------------
>
> Key: MUSE-270
> URL: https://issues.apache.org/jira/browse/MUSE-270
> Project: Muse
> Issue Type: Bug
> Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
> Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
> Environment: Impacts all platforms and configurations
> Reporter: Rich Lucente
> Assignee: Dan Jemiolo
> Fix For: 2.3.0
>
> Attachments: epr-tests.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list. XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements. This has been shown to cause exceptions in a multi-threaded environment. The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org