| Summary: | Potential API breaks in JBPM | |||
|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise SOA Platform 4 | Reporter: | Jiri Pechanec <jpechane> | |
| Component: | JBPM - within SOA | Assignee: | Marco Rietveld <mrietvel> | |
| Status: | CLOSED DEFERRED | QA Contact: | ||
| Severity: | urgent | Docs Contact: | ||
| Priority: | urgent | |||
| Version: | 4.3 CP05 CR1 | CC: | jpechane, smcgowan | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| URL: | http://jira.jboss.org/jira/browse/SOA-3083 | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 780645 (view as bug list) | Environment: | ||
| Last Closed: | 2011-06-14 12:13:15 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
|
Description
Jiri Pechanec
2011-05-24 07:03:11 UTC
Link: Added: This issue Cloned to SOA-3105 Link: Removed: This issue Cloned to SOA-3105 Link: Added: This issue relates to JBPM-3234 With regards to the methods which previously had synchronized signatures: No changes will be made on the following methods: - public JbpmConfiguration.getJobExecutor() - public Object JbpmContextInfo.createObject(ObjectFactoryImpl) - public Object ObjectFactoryImpl.createObject(String) - public boolean ObjectFactoryImpl.hasObject(String) While the synchronized modifier has been removed from these methods, they are all still thread safe. In all of the methods, there is now a synchronized block being used within the method itself, or otherwise deeper in the method stack: this was (probably) done in order to make the synchronized block as small (and fast) as possible, since there are other things done in the method that can be done outside of a synchronized block (while still keeping the method thread safe). With regards to the modified methods in ProcessClassLoader: - protected Class ProcessClassLoader.findClass(String) - protected URL ProcessClassLoader.findResource(String) These methods were made protected when Alejandro did work for JBPM-2908: StackOverflowError from specific jbpm.cfg.xml configuration. I'm would like to leave these methods unchanged for the following reasons: - Alejandro made the methods protected (they were public) in order to limit the use of these methods. He probably did this for two reason: 1. These methods aren't supposed to be used by anything except for the jBPM internal classes. 2. There isn't any obvious reason why a user would use these methods. In other words, these methods expose internal classloading information that a jBPM user should _not_ be using. (well, in my opinion, then. :) ) (3. Also, in ClassLoader, which ProcessClassLoader extends, these methods are also protected.) @Jiri, what do you think? Please resolve the issue as won't fixed and I'll close it Release Notes Docs Status: Added: Not Required Release Notes Text: Added: The methods in org.jbpm.mail.Mail and the JobExecutor.getMonitoredJobIds() have been modified so that legacy applications can find the methods they expect. Other methods (see comments) have been left as is. |