FFMQ

Full Java, native JMS, nmesage queuer
Download

FFMQ Ranking & Summary

Advertisement

  • Rating:
  • License:
  • LGPL
  • Price:
  • FREE
  • Publisher Name:
  • S. Pognant
  • Publisher web site:

FFMQ Tags


FFMQ Description

Full Java, native JMS, nmesage queuer FFMQ is a light-weight, full-java, fast native JMS 1.1 implementation.From the conception stage, emphasis was made on architecture and performance, achieving interesting results.As a consequence, extra features were not a priority and may appear scarce comparing to other available implementations.That does not mean they will never be implemented, but there is no need to rush and compromise the original implementation spirit.FFMQ is released under the GNU LGPL license, in order to allow integration in all kind of software.Architecture:FFMQ internally follows the JMS 1.1 object model. This is a main difference with most other implementations that use their own proprietary model, providing JMS through wrappers.Computing performanceAchieved CPU consumption is pretty low, even in high throughput/ high concurrency scenarios.Persistence performanceReliable persistence is achieved through an internal - per queue - synchronous block-file based I/O system, providing high performance figures (at least for a java implementation, native APIs may achieve better results using a finer-grained synchronous implementation)Anyway, you should never trust any written performance claim. The best way to have an exact idea is to test it by yourself ! Please give it a try, if you have a JMS compliant application this should be pretty easy (See 'Quick Start' below).Quick Start:Just unzip the server package somewhere and start the server using the ffmq-server.bat or ffmq-server.sh shell in the bin/ directory.(If necessary you can change default listen ports and interfaces in the conf/ffmq-server.properties file)On the client-side, you need the ffmq-core.jar in your classpath. (plus commons-logging and log4j if you don't already have them).Here is the JNDI configuration to use :* Naming Context Factory : net.timewalker.ffmq.jndi.FFMQInitialContextFactory* Connection Factory JNDI Name : factory/ConnectionFactory* Provider URL : tcp://:10001 Here are some key features of "FFMQ": · JMS 1.1 compliant · Full-java 1.4 implementation (though its was tempting to use new Java features, it would have constrained the usage of this code. At some point in the future it may be migrated to Java 1.5+) · JMX support to monitor queues and topics · SSL support for remote connections · Tuned TCP-based network protocol and fail-safe persistence layer · Template-based destination definitions · Destination auto-creation using pattern-matching Requirements: · Java 2 Standard Edition Runtime Environment What's New in This Release: · Fixed various bugs with messages priority that caused persisted messages priority to get messed up when the queuer was restarted,and other invalid ordering behaviors · Report network errors to exception listeners so they have a chance to reconnect · Don't allow multiple templates with the same name · Trim values in properties files to avoid issues with white space in config. values · Better server behavior regarding stalled remote consumers · Reworked all thrown JMS exceptions : they now contain an error code · Added a shutdown hook to allow for graceful server shutdown on SIGINT/SIGTERM


FFMQ Related Software