eclipse-ee4j / metro-saaj

https://eclipse-ee4j.github.io/metro-saaj/
Other
13 stars 16 forks source link

ParserPool is not performant #41

Open Tomas-Kraus opened 15 years ago

Tomas-Kraus commented 15 years ago

The com.sun.xml.messaging.saaj.util.ParserPool does not perform well under heavy concurrent use. This class should be refactored to use the facilities provided by java.util.concurrent.

Environment

Operating System: All Platform: All

Affected Versions

[1.3.1]

Tomas-Kraus commented 5 years ago
Tomas-Kraus commented 15 years ago

@glassfishrobot Commented Reported by kevinconaway

Tomas-Kraus commented 15 years ago

@glassfishrobot Commented kevinconaway said: Created an attachment (id=16) Attaching patch that uses and ArrayBlockingQueue instead of synchronized access to a Stack

Tomas-Kraus commented 15 years ago

@glassfishrobot Commented kevinconaway said: Created an attachment (id=17) Attaching updated patch that returns parsers to the pool appropriately in case of error

Tomas-Kraus commented 15 years ago

@glassfishrobot Commented @vbkumarjayanti said: Thanks for this. Will review your patch and try to put it in ASAP.

Tomas-Kraus commented 14 years ago

@glassfishrobot Commented @vbkumarjayanti said: Hi kevinconaway,

Sorry i did not act for long on your patch, just got busy with my other project(s).

Now it looks like the idea of parserpools itself is problematic.

Please see : https://saaj.dev.java.net/issues/show_bug.cgi?id=46

I will look into both the issues together and see what is best.

Thanks again for providing the patch. If you have an opinion let me know.

Thanks.

Tomas-Kraus commented 14 years ago

@glassfishrobot Commented @vbkumarjayanti said: I have putback your proposed changes. Thanks for the same, though i now still need to investigate issue 46.

Thanks.

Tomas-Kraus commented 14 years ago

@glassfishrobot Commented kevinconaway said: Created an attachment (id=18) Updated patch to set the interrupt status

Tomas-Kraus commented 14 years ago

@glassfishrobot Commented kevinconaway said: I'm reopening the issue because I've added an updated patch. The ParserPool needs to call Thread.currentThread().interrupt() when catching an InterruptedException. This ensures that the interrupt gets propagated up the call chain.

Tomas-Kraus commented 14 years ago

@glassfishrobot Commented File: saaj-41-updated-2.patch Attached By: kevinconaway

Tomas-Kraus commented 15 years ago

@glassfishrobot Commented File: saaj-41-updated.patch Attached By: kevinconaway

Tomas-Kraus commented 15 years ago

@glassfishrobot Commented File: saaj-41.patch Attached By: kevinconaway

Tomas-Kraus commented 15 years ago

@glassfishrobot Commented Was assigned to saaj-issues

Tomas-Kraus commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA SAAJ-41