What is Immutant?
What's in this release?
Since 0.6.0, we've made a couple of changes that could potentially break your applications:
- Immutant no longer looks in the root of the application for an
immutant.cljinitialization file. Instead, it looks on the classpath for an 'immutant.init' namespace. For your apps to run under 0.7.0, you'll need to move
src/immutant/init.cljand change its
immutant.init. See the mailing list for more information.
- Deployment descriptors are now evaluated instead of just being read in. This allows for dynamic configuration within the descriptor based on external data (system properties, environment variables). If you are using the plugin to deploy and have upgraded it to 0.14.0, this will not affect you. If you are creating descriptors via some other method, you will now need to quote any symbols in it.
We've also added a few new features:
- If you are working with queues or topics that don't match the Immutant naming convention of containing 'queue' or 'topic', you can now mark them as queues or topics using the immutant.messaging/as-queue or immutant.messaging/as-topic functions.
- Messages can now be encoded as edn, which is great for interoperating with other systems/languages. If you are working with ruby applications, TorqueBox 2.2.0 and up can natively consume and produce edn messages.
The simplest way to install or upgrade to 0.7.0 is via our Leiningen plugin:
$ lein immutant install 0.7.0
Get In Touch
Issues resolved in 0.7.0
- [IMMUTANT-122] - nrepl socket remains open after undeploy
- [IMMUTANT-132] - Move immutant.clj to an immutant.init ns
- [IMMUTANT-168] - Document HornetQ destination and listener mbeans
- [IMMUTANT-169] - strip immutant dependencies from the app's dep list
- [IMMUTANT-170] - support edn as a message encoding
- [IMMUTANT-173] - Get the build working with a 1.5.0-beta
- [IMMUTANT-176] - resource dirs in the app root should have classpath precendence over dependency jars
- [IMMUTANT-178] - Ability to explicitly declare queue vs topic instead of forcing naming
- [IMMUTANT-180] - Don't rely on jboss.home.dir to find clojure.jar
- [IMMUTANT-181] - Eval deployment descriptors
- [IMMUTANT-183] - Listening to a remote destination from inside the container does not work
- [IMMUTANT-184] - Can not schedule job from nREPL
- [IMMUTANT-185] - PUT and DELETE requests are always rejected
- [IMMUTANT-186] - move .tmp_jar_mounts out of the project root and to a real tmp dir