MSMQJAVA without a limit of 10 concurrent queues


This is a rewrite based on ver. 1.1 of MSMQJava:
Changed Message-class so it now has a byte-array instead of a string (Allows proper binary messages)
Changed Message-class so it is possible to set the messagebody-type directly (VT_BSTR, VT_ARRAY etc.)
Changed Message-class so it no longer has the transactionalFlag, instead this is now stored on the Queue-class (Can now receive messages transactional on Vista/Win7).
Changed Queue-class so instead of throwing an exception when there is receive-timeout, then it just returns null (instead of a Message-class)
Changed Queue-class so instead of caching the latest received message in private members, then it passes the Message-class to JNI.
Changed the native caching of queue-handles (slots) to a long-array on the Queue-class (Removed upper limit of 10 MSMQ handles)
Changed the native reading of MSMQ messages, so if not having allocated a buffer, then it will allocate the right buffer size. It is still able to use a pre-allocated buffer if provided.
Changed the native sending of MSMQ messages, so messages are not lost when computer is restarted (MQMSG_DELIVERY_RECOVERABLE)
Extended the TestClient with a new 'hidden' option call "T" that will activate the automatic tests (TestRunner.java).

file attachments