Hide Forgot
++ This bug is a clone of bug 780644 ++ project_key: SOA We have identified this changes on public API. It can break legacy applications if they are using it [groovy] Missing or changed method public java.lang.Class org.jbpm.instantiation.ProcessClassLoader.findClass(java.lang.String) throws java.lang.ClassNotFoundException on class org.jbpm.instantiation.ProcessClassLoader [groovy] Missing or changed method public java.net.URL org.jbpm.instantiation.ProcessClassLoader.findResource(java.lang.String) on class org.jbpm.instantiation.ProcessClassLoader [groovy] Missing or changed method public static void org.jbpm.mail.Mail.send(java.util.Properties,java.lang.String,java.util.List,java.lang.String,java.lang.String) on class org.jbpm.mail.Mail [groovy] Missing or changed method public static void org.jbpm.mail.Mail.send(java.util.Properties,java.lang.String,java.util.List,java.util.List,java.lang.String,java.lang.String) on class org.jbpm.mail.Mail [groovy] Missing or changed method public java.util.List org.jbpm.mail.Mail.getRecipients() on class org.jbpm.mail.Mail [groovy] Missing or changed method public java.util.List org.jbpm.mail.Mail.getCcRecipients() on class org.jbpm.mail.Mail [groovy] Missing or changed method public java.util.List org.jbpm.mail.Mail.getBccRecipients() on class org.jbpm.mail.Mail [groovy] Missing or changed method public synchronized org.jbpm.job.executor.JobExecutor org.jbpm.JbpmConfiguration.getJobExecutor() on class org.jbpm.JbpmConfiguration [groovy] Missing or changed method public synchronized java.lang.Object org.jbpm.configuration.JbpmContextInfo.createObject(org.jbpm.configuration.ObjectFactoryImpl) on class org.jbpm.configuration.JbpmContextInfo [groovy] Missing or changed method public synchronized java.lang.Object org.jbpm.configuration.ObjectFactoryImpl.createObject(java.lang.String) on class org.jbpm.configuration.ObjectFactoryImpl [groovy] Missing or changed method public synchronized boolean org.jbpm.configuration.ObjectFactoryImpl.hasObject(java.lang.String) on class org.jbpm.configuration.ObjectFactoryImpl [groovy] Missing or changed method public java.util.Set org.jbpm.job.executor.JobExecutor.getMonitoredJobIds() on class org.jbpm.job.executor.JobExecutor
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.