[JBoss JIRA] Commented: (JBPM-1448) jBPM does not initialise thread context classloader
by Marco Strauch (JIRA)
[ https://jira.jboss.org/jira/browse/JBPM-1448?page=com.atlassian.jira.plug... ]
Marco Strauch commented on JBPM-1448:
-------------------------------------
Hello,
I know this issue is closed but I have still a problem with this class loader handling.
It is only a comment on this and mybe you can handle it in next JBPM versions.
First I use JBPM version 3.2.6 SP1.
In my process definition I use bsh scripts. So when I leave a node using an action handler like below
( public class LeaveNodeHandler implements ActionHandle {
public void execute(....) {
....
rexecutionContext.leaveNode();
.....
}
}
)
and the executed transition enters another node in which I execute a BSH Script then the initialization of bsh.Interpreter will fail with this exception:
org.jbpm.JbpmException: couldn't get value for file 'classes/java/lang/bsh.class'
at org.jbpm.file.def.FileDefinition.getBytes(FileDefinition.java:196)
at org.jbpm.instantiation.ProcessClassLoader.findClass(ProcessClassLoader.java:116)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at bsh.classpath.ClassManagerImpl.plainClassForName(Unknown Source)
at bsh.classpath.ClassManagerImpl.classForName(Unknown Source)
at bsh.NameSpace.classForName(Unknown Source)
at bsh.NameSpace.getImportedClassImpl(Unknown Source)
at bsh.NameSpace.getClassImpl(Unknown Source)
at bsh.NameSpace.getClass(Unknown Source)
at bsh.Name.consumeNextObjectField(Unknown Source)
at bsh.Name.toObject(Unknown Source)
at bsh.Name.toObject(Unknown Source)
at bsh.NameSpace.get(Unknown Source)
at bsh.Interpreter.get(Unknown Source)
at bsh.Interpreter.getu(Unknown Source)
at bsh.Interpreter.<init>(Unknown Source)
at bsh.Interpreter.<init>(Unknown Source)
at bsh.Interpreter.<init>(Unknown Source)
....
Caused by: java.lang.NullPointerException
at org.jbpm.file.def.FileDefinition.getBytesFromDb(FileDefinition.java:213)
at org.jbpm.file.def.FileDefinition.getBytes(FileDefinition.java:193)
... 236 more
This happens because the bsh package is not known in process class loader.
So now I have to implement my own process class loader to prevent this.
Kind regards,
Marco
> jBPM does not initialise thread context classloader
> ---------------------------------------------------
>
> Key: JBPM-1448
> URL: https://jira.jboss.org/jira/browse/JBPM-1448
> Project: jBPM
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Runtime Engine
> Reporter: Kevin Conner
> Assignee: Bernd Ruecker
> Priority: Critical
> Fix For: SOA 4.2 CP03, jBPM 3.3.0 GA, jBPM 3.2.4 GA
>
>
> jBPM does not initialise the thread context classloader when executing actions within the process.
> The outcome of this decision is that code executed within the context of this action will not have access to classes/resources in the par unless the action classloader is an explicit parameter.
> One example of this is the RMI marshalling layer, which has an implication on JNDI lookups.
--
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
15 years, 3 months
[JBoss JIRA] Created: (JBPM-2467) ForkActivity setActivity(null) breaks console integration (process state diagram and others)
by Marko Friedemann (JIRA)
ForkActivity setActivity(null) breaks console integration (process state diagram and others)
--------------------------------------------------------------------------------------------
Key: JBPM-2467
URL: https://jira.jboss.org/jira/browse/JBPM-2467
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Console, GPD
Affects Versions: jBPM 4.0
Environment: Jboss 5.1.0 GA on Windows XP
Reporter: Marko Friedemann
When deploying processes with forks in them, attempting to start them or view their state in the GWT-console causes exceptions (see attachment).
Apparently, the console integration code gets upset about the activity of the parent execution being null.
The activity is set to null by:
,-- ForkActivity.java, lines 73-79 --
| if (Execution.STATE_ACTIVE_ROOT.equals(execution.getState())) {
| concurrentRoot = execution;
| execution.setState(Execution.STATE_INACTIVE_CONCURRENT_ROOT);
| execution.setActivity(null);
| } else if (Execution.STATE_ACTIVE_CONCURRENT.equals(execution.getState())) {
| concurrentRoot = execution.getParent();
| }
`----------------
Now, I admit of not having an idea about much of the inner working of the pvm/jpdl/console etc., but I do wonder why it would be necessary to set this to null when it is marked as inactive anyway?
After trying to workaround it in the console code (ModelAdaptor.java, around line 100 with a Todo linking to https://jira.jboss.org/jira/browse/JBPM-2220) I commented out the setActivity() part and have the process running nicely now. Maybe I will hit side-effects later on.
--
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
15 years, 3 months
[JBoss JIRA] Commented: (JBPM-958) Can't display the non-ISO8859-1 characters!
by wei hua (JIRA)
[ https://jira.jboss.org/jira/browse/JBPM-958?page=com.atlassian.jira.plugi... ]
wei hua commented on JBPM-958:
------------------------------
David Lloyd's solution is excellent. I've solved my problem~
> Can't display the non-ISO8859-1 characters!
> -------------------------------------------
>
> Key: JBPM-958
> URL: https://jira.jboss.org/jira/browse/JBPM-958
> Project: jBPM
> Issue Type: Bug
> Components: Console
> Affects Versions: jBPM 3.2.0
> Environment: Windows XP Professional English
> JDK 1.5
> Eclipse 3.2.2
> JPDL Suite 3.2 GA
> Reporter: David Chan
> Assignee: David Lloyd
> Attachments: input.JPG, rushcode.JPG
>
>
> When I run the console application, log in as the user bert, then start the sample process websale, it display a form.
> So I input some Chinese characters as task variable, see the attachment(JPG). After click the save button, what the input has been saved into database and page was rendered again, but the character displayed is not same as I just inputed.
> Please see the second attachment(JPG), I really don't know how the strange character came out.
> I also checked the page encoding, which is all UTF-8.
--
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
15 years, 3 months
[JBoss JIRA] Work started: (JBPM-2526) implement jbpm key generation
by Tom Baeyens (JIRA)
[ https://jira.jboss.org/jira/browse/JBPM-2526?page=com.atlassian.jira.plug... ]
Work on JBPM-2526 started by Tom Baeyens.
> implement jbpm key generation
> -----------------------------
>
> Key: JBPM-2526
> URL: https://jira.jboss.org/jira/browse/JBPM-2526
> Project: jBPM
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Reporter: Tom Baeyens
> Assignee: Tom Baeyens
> Priority: Critical
> Fix For: jBPM 4.2
>
> Original Estimate: 1 week
> Remaining Estimate: 1 week
>
> mechanism:
> 1) add JBPM4_PROPERTIES table (See also JBPM-2527)
> 2) define a property called NEXTID with a long value that is initialized at 1
> 3) define a KeyGeneratorImpl in the process-engine context, with eager initialization
> 4) make sure that all hibernate entities during construction get a value from the id generator
> - each id generator will acquire a block of ids by updating the NEXTID property
> - block acquisition is guarded with optimistic locking
> - ids will be consumed from the block (very fast, without db access)
> 5) remove all the explicit flushes
> 6) implement a DefaultKeyGenerator that only uses in memory key generation in case people work without persistence
> public abstract class KeyGenerator {
> // similar as ScriptManager
> public static KeyGenerator getKeyGenerator() {...}
> // similar as ScriptManager
> public static KeyGenerator getDefaultKeyGenerator() {...}
> public long getNextId() {...}
> }
> Motivations:
> 1) database portability : see also JBPM-2510
> 2) performance
> JBPM-2510
--
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
15 years, 3 months