[jBPM] - jBPM5 - Can't Scale, Won't Scale
by M Arnold
M Arnold [https://community.jboss.org/people/m_arnold123] created the discussion
"jBPM5 - Can't Scale, Won't Scale"
To view the discussion, visit: https://community.jboss.org/message/771731#771731
--------------------------------------------------------------
Hi,
I'm having great trouble designing an application which uses jBPM5 in a scalable way. It seems to be impossible on a practical level. I hope that this is just due to my misunderstandings of the way the jBPM5 works.
I have listed each of my assumptions, and the ramifications of each below. I hope that someone from the community will be able to point out where these assumptions are incorrect.
I would particularly appreciate it if anyone has managed to scale jBPM5, and could described how they achieved it.
1. Everytime jBPM5 executes a process the database transaction updates the process instance info AND the session info, therefore:
1a. it's not scalable to use a single session to execute all processes, or you would suffer contention on the session info.
1b, it's not scalable to use a single session to execute all processes in a cluster, or the updated session info would have to be continually synchronised across the cluster.
2. When using BPMN2 events, jBPM5 only allows you to send events to the process instances within a single session at a time. You need to maintain a list of all the sessions which have incompleted process instances(*), and loop through them all to send events. Therefore:
2a. you should execute all processes in as few sessions as possible, to lessen the number of iterations through this loop.
3. jBPM5 persists BPMN2 timer info in the session info, but the session must be active (ie. loaded from persistence) in order for the timers to activate. Therefore:
3a. when your application starts, you must load all sessions that have active process instances that have timers(**).
3b. you must not have the same session active in two different nodes of a cluster, or the same timers will expire around the same time
3c. when a node crashes, your application must detect this and reload the sessions that were active in the crashed node
4. If you start a process instance in a session, that process instance must always be executed in that session.
4a. when a node wishes to resume a process instance that was persisted, it must first (due to 3b) ask all other nodes if they have the session active, and if so instruct them to dispose it. It can then load the session, load and resume the process. All while preventing race conditions.
4b. when a node receives an event it must (due to 2) carry out all the processing in 4a for each session with active process instances.
(*) I don't think it's possible to know if a session has incompleted process instances..?
(**) I don't think it's possible to know if a session and timers..?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/771731#771731]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 1 month
[JBoss Portal] - Beginner - Differences between GateIn & jboss enterprise portal platform
by sirseto
sirseto [https://community.jboss.org/people/sirseto] created the discussion
"Beginner - Differences between GateIn & jboss enterprise portal platform"
To view the discussion, visit: https://community.jboss.org/message/798785#798785
--------------------------------------------------------------
Hi everybody,
I'm currently making a comparison between differents portals (from liferay to microsoft...), to develop a prototype for an insurance company. I was interesting by eXo, but I just need the portal part. So, I went to GateIn. But, apparently, there is no support for enterprises need (is it exact ?).
So, I went to JBoss Entreprise Portal Platform. It's exactly the same portal as GateIn, but with the RedHat's support ?
Other little question, where I can find all the technical specifications (like the Deployment Compatibility, web services supported, standards used, ...) ? I need a lot of informations, but I'm a little bit lost into the large quantity of docs
Thank you in advance !
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/798785#798785]
Start a new discussion in JBoss Portal at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 1 month
[jBPM] - How to change the Port of JBPM5.3 Full Installer?
by Thomas Setiabudi
Thomas Setiabudi [https://community.jboss.org/people/thomas.setiabudi] created the discussion
"How to change the Port of JBPM5.3 Full Installer?"
To view the discussion, visit: https://community.jboss.org/message/763195#763195
--------------------------------------------------------------
Hi,
I Used JBPM5.3 Full Installer, it works well with the default configuration
My question is how do we change the default sample which works at localhost:8080 to some other port?
So far, I have changed:
1. {installerPath}\jboss-as-7.0.2.Final\standalone\configuration\standalone.xml
changing the port value in this part
<socket-binding-group name="standard-sockets" default-interface="public">
<socket-binding name="http" port="8082"/>
doing this, i can access the jbpm console but the console is unable to load any process from guvnor repository
2. {installerPath}\guvnor.preferences.properties
changed port 8080 to 8082
3. {installerPath}\jbpm.console.properties
changed port 8080 to 8082
4. {installerPath}\jboss-as-7.0.2.Final\standalone\deployments\drools-guvnor.war\WEB-INF\classes\preferences.properties
changed port 8080 to 8082
5. {installerPath}\jboss-as-7.0.2.Final\standalone\deployments\jbpm-gwt-console-server.war\WEB-INF\classes\guvnor.preferences.properties
changed port 8080 to 8082
6. {installerPath}\jboss-as-7.0.2.Final\standalone\deployments\jbpm-gwt-console-server.war\WEB-INF\classes\jbpm.console.properties
changed port 8080 to 8082
but still no success, now when i try to refresh the list of process definition in jbpm console I always get the resteasy error.
I suppose there should be some other files that need to be modified. Which files are those?
Any Help is appreciated.
Regards,
Thomas Setiabudi
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/763195#763195]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 1 month
[Javassist] - Javaassist and Java Web Start. Its posible?
by Telcontar Thorongil
Telcontar Thorongil [https://community.jboss.org/people/telcontarvi] created the discussion
"Javaassist and Java Web Start. Its posible?"
To view the discussion, visit: https://community.jboss.org/message/799924#799924
--------------------------------------------------------------
Hi, i'm triying to deploy a desktop application with one class modified at runtime by javaassist. In my computer it's working fine, but when i deploy and start it by Java Web Start i'm facing several problems, last of them i can't resolve:
- First: ClassPool didnt found the class to modify, it was fixed by cp.insertClassPath(new ClassClassPath(XXXXX.class));
- Second: All .jar of an Java Web Start application must be signed by one and only one certificate, but when javaassist modify the class at runtime i supose the sign it's gone or it's invalid, so that this exception is launched:
java.lang.SecurityException: class "com.sch.coberturas.db.CobDao"'s signer information does not match signer information of other classes in the same package
Solved by isolating com.sch.coberturas.db.CobDao in a package with only this class in it
- Third: I suposse that Java Web Start detects that the modified class is not signed, or it's sign it's not valid and revokes permissions to the application so it can't do things like connecting to the database or to write files, making the app useless.
How can i solve this third problem?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/799924#799924]
Start a new discussion in Javassist at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 1 month