Lately I've been doing a lot of work with Flex messaging using ColdFusion and BlazeDS. Recently I was trying to get message filtering working using the Flex Consumer component's selector property. After a few false starts I found that I just couldn't get selectors to work using either BlazeDS or LCDS.
Last week I updated my CF No Debug extension so that it will remember what state it was last in when you open Firefox. Before, when you closed and re-opened Firefox the extension was always disabled, allowing ColdFusion request debugging to execute. Now if you have the extension enabled when you close Firefox, it will remain enabled when you open Firefox again. This is an extension only update, so there is no need to update the servlet filter.
When working with Flex messaging, a Consumer component can filter the messages it receives using a selector. The selector uses SQL 92 syntax to filter against message headers, so if my messages contained a header named roomID I could write something like:
The problem I ran into today was that I wanted to filter on multiple values using an IN clause, however when I tried to do the following I got no messages:
Turns out that I needed to modify my IN statement to filter for string values as opposed to numeric values:
This was a little confusing because I was able to filter on single values using numeric values, as in my first example above, but filtering on multiple values required string values. I'm using BlazeDS with ColdFusion, so I'm not sure if this is specific to my configuration, but if you run into issues trying to filter on numeric values using an IN clause, try using strings instead.
UPDATE: After further testing I'm not entirely sure that selectors work at all with the ColdFusion Event Gateway Adapter. I'm still trying to work this out, but right now the first example above doesn't seem to be working for me, even if I check for a string value. If anyone has experience using selectors with CF please let me know...
So in my last post I talked about the _cf_nodebug parameter and how it can be used for disabling ColdFusion request debugging for single requests. Today I'm announcing a new Firefox extension and servlet filter that allow you to disable request debugging without appending the _cf_nodebug parameter to your URL. Install the servlet filter on your development server and the extension in Firefox and you can easily disable debugging for requests made through Firefox as needed via a nice little status bar icon. You can find out more and see screen shots at cfnodebug.riaforge.org.