"timfox" wrote : "vc123" wrote :
| |
| | anonymous wrote :
| | | On my tests, persistent auto-ack send was too fast ( about 3000 1K
messages/s) which means that there is no auto commit. if so, it would mean that
persistent message delivery is not really reliable which is a violation of the JMS spec.
| | |
| |
| | No, that's not a violation of the spec for previously mentioned reasons. I
suspect you are using a non durable subscriber, in which case messages won't get
persisted anyway.
| |
| | Please can you explain whether you are using a queue or topic, whether it is
temporary, and if a topic, whether is durable or non durable?
|
| It turns out that the speed was so high because I used Hypersonic as the
"persistent" store. When I switched to Oracle, the 1KB message production rate
fell down to the expected value of about 100 messages/sec.
|
| I traced Oracle SQL statements resulting from message send/receive calls, and I saw
that with persistent delivery a commit is issued once per each message in the AUTO_ACK
mode and once per batch in the transactional mode as expected. So JBoss Messaging works
according to the spec.
|
| However, I was rather disappointed with non_persistent delivery which was about
1700-2000 messages/s with Oracle. Apparently, even with non_persistent delivery, JM
still issues quite a few SQL calls.
|
| Switching back to HSQL, in hopes to improve performance, was no joy either because on
my stress test (sending-receiving 1K messages in a loop) HSQL failed repeated with the
following stack:
|
| | 15:48:04,936 WARN [JDBCSupport] SQLException caught, SQLState 23000
| | code:-104- assuming deadlock detected, try:1
| | java.sql.SQLException: Violation of unique constraint SYS_PK_51:
| | duplicate value(s) for column(s) $$ in statement [INSERT INTO JBM_MSG
| | (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, TYPE, HEADERS,
| | PAYLOAD) SELECT ?, ?, ?, ?, ?, ?, ?, ? FROM JBM_DUAL WHERE NOT EXISTS
| | (SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID = ?)]
| | at org.hsqldb.jdbc.Util.throwError(Unknown Source)
| | at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown
| | Source)
| |
| The failure occured under JBoss 5 Beta 4 as well as Jboss 4.2.2 with SP3 Messaging.
|
| Thanks.
|
| VJ
|
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4128499#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...