[
https://jira.jboss.org/jira/browse/JBPM-2194?page=com.atlassian.jira.plug...
]
David Schlotfeldt commented on JBPM-2194:
-----------------------------------------
I am not sure what you mean by
"evaluator: from the ExpressionEvaluator javadoc: "the parseExpression() and
evaluate() methods must be thread-safe. [...] global caching should therefore be
static". "
Seam calls the following two configuration settings and both use static variables:
JbpmExpressionEvaluator.setExpressionEvaluator( new SeamExpressionEvaluator() );
UserCodeInterceptorConfig.setUserCodeInterceptor( new SeamUserCodeInterceptor() );
The problem is two separate applications cannot share the same class definitions since the
two classes above use static variables. Threads have nothing to do with this. It
doesn't matter if ExpressionEvaluator is thread safe or not. If I have project A that
uses Seam and project B that doesn't use Seam but does use JBPM, then project Bwill
still end up using SeamExpressionEvaluator since that setting is set on a static property
-- so its shared between the two projects.
It seems these two methods shouldn't be used at all PERIOD. They are not safe in an
application server. In my opinion they should be deprecated since they are just asking for
trouble. Is there an alternative approach I should tell Seam to switch to or does an
alternative "application server safe" solution not exist at this time?
Thanks
David
Allow clients to set the UserCodeInterceptor in the configuration
file
----------------------------------------------------------------------
Key: JBPM-2194
URL:
https://jira.jboss.org/jira/browse/JBPM-2194
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: jBPM 3.2.6.SP1
Reporter: David Schlotfeldt
Assignee: Alejandro Guizar
Priority: Critical
Fix For: jBPM 3.2.7 GA
You can't share the jbpm jars. Each application must have its own copy since classes
like
http://anonsvn.jboss.org/repos/jbpm/jbpm3/tags/jbpm-3.2.6.SP1/modules/cor...
use static variables. This is a LARGE issue.
JBoss Seam for example set settings on UserCodeInterceptorConfig and
JbpmExpressionEvaluator. These settings will mess will affect ALL applications that share
the same class definitions since the settings are a on static variable.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira