[Design of Clustering on JBoss] - Jboss Clustering Performance Question
by tdakanalis
Hi and sorry for posting here,
I am interested on some performance issues related with jboss clustering. In particular, I want to ask if the synchronization between the nodes in a Jboss cluster occurs in a synchronous or asynchronous way. For example, lets suppose that we have a two node cluster (node1, node2) and a user places a request which is served by the node1. Which of the following options is right: a) The node1 serves the request and then the state of the node2 is updated (asynchronous way), b) the state of the node2 is updated and then the node1 serves the request (synchronous way) .
In addition, I want to ask if there are measurements about the average time is needed for the node synchronization in a Jboss cluster (in a typical environment) and the relation of that time with the average time for serving a users request.
Thanks in advance !!!
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244649#4244649
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4244649
16 years, 8 months
[Design of JBoss jBPM] - Task I18N support
by gleenders
I use jBPM 4 just on task level to indicate to different users their next tasks. I don't use a task form, just a brief description of what their task is and a button where they can execute the task the moment it''Âs done.
Because I want to use this system in Belgium this can only be done with i18n support. For the moment this is not implemented in jBPM 4.
Searching for I way to implement this or a workaround these are my current thoughts/considerations:
Tasks translations should be in a sub-node under task in the jpdl.xml file. Since they are part of the process definition (changing a translation will result in a new process definition version).
I think we can discuss on this: is the translation really part of the definition?
If yes, then the only possibility is to include it in the jPDL as said above.
If no, we have to bind it to the task definition key (who seems to be the task name). So in that case it would be possible to foresee a system to implement i18n task support by providing a properties file or an extra database table (both based on the task name as part of the key).
The drawback of this system is that it would be possible to change the translations within a jBPM version.
One way or another I would like to have a method on 'ÃÂTask'ÃÂ [public String getDescription(String locale)] who just returns the description translation based on the locale.
Regards,
Gert
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244566#4244566
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4244566
16 years, 8 months
[Design of Messaging on JBoss (Messaging/JBoss)] - Paging can cause the order of message delivery broken (1.4)
by gaohoward
The paging can disrupt the order of message delivery in the following way:
1. Starting a queue with fullSize=20, pageSize=10, downCacheSize=10
2. Sending 35 persistent messages (m0 to m34) to the queue
3. The JBM_MSG_REF table will look like this:
| +------------------+----------+
| | MESSAGE_ID | PAGE_ORD |
| +------------------+----------+
| | m0's id | NULL |
| | .... | NULL |
| | m19's id | NULL |
| | m20's id | 0 |
| | .... | 5 |
| | m29's id | 9 |
| | m30's id | NULL |
| | .... | NULL |
| | m34's id | NULL |
| +------------------+----------+
|
No the order of messages in the table is exactly the same order as they were added to the in-memory queue, only
that m20 to m34 are paged and waiting to be loaded to the in-mem queue. Please note that messages m0 to m19 have
NULL page_ord because they are in-memory messages, messages m20 to m29 have non-null page_ord values because they
have been paged down to DB, messages m30 to m34 have NULL page_ord values because they are in the down cache and haven't
yet been written to DB.
If we at the moment shutdown and restart the server, the messages will be loaded from the DB in the same order as before.
But if we cosume a message (m19) before shutdown, it's possible that the table may look like this
| +------------------+----------+
| | MESSAGE_ID | PAGE_ORD |
| +------------------+----------+
| | m0's id | NULL |
| | .... | NULL |
| | m18's id | NULL |
| | m20's id | 0 |
| | .... | 5 |
| | m29's id | 9 |
| | m30's id | NULL |
| | .... | NULL |
| | m34's id | NULL |
| +------------------+----------+
|
Now if we start the server again, it will load m0 to m18, plus m30 into the in-memory queue and update the paging status. The key sql statement is this
| LOAD_UNPAGED_REFS=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'C' AND CHANNEL_ID = ? AND PAGE_ORD IS NULL ORDER BY ORD
|
This will cause m30 to be delivered before messages m20 to m29. So the order is broken.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244556#4244556
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4244556
16 years, 8 months