Web Software Architecture and Engineering – Life on the Bleeding Edge

Remember Reactor ORM?

I don’t know how many of you guys remember Reactor? All the buzz has been around Transfer for the past couple years. We’ve been using Reactor since 2006 in production with little to no issues.
Now that Doug Hughes posted that he has handing management of the Reactor Framework to Mark Drew, its great news. Read more @ Doug’s Blog.
I do have a couple gripes about Reactor though, which I’ve expressed to numerous people, including Doug since 2006, and I wanted to make them public here.
One is that Reactor doesn’t support schema’s out of the box for MS SQL 2005. I can’t speak for other DBs. If every table in your DB is owned by DBO, i.e. DBO.tableName, then you are fine. But if you are like us, and have multiple Schemas, then you have to hack Reactor. What’s worse, the hack is SOOOO simple. Reactor goes through and figures out your DB anyway, and it can figure out the Schema and add it to its call, but it doesn’t. Simple right? But we’ve been running the hacked version for years because Doug thinks “Reactor is stable” so he decided not to change it to add this functionality.
More details @ http://www.reactorframework.com/ticket/42.
The other issue is Reactor creating CF UUIDs when it should be creating MSSQL GUIDs.
My one enhancement for Reactor would be suggesting caching for queries. When Reactor was released, we were still in the CF7 world. But now that queries with cfqueryparam’s can be cached, it makes sense to add that.
Excited to see some movement with the framework, and look forward to seeing what’s next.


Comments on: "Remember Reactor ORM?" (4)

  1. This is not an attempt to hijack the comments. 🙂

    I just wanted to say that I wouldn’t expect a query caching mechanism in Reactor to actually use the CF-built-in query caching. I would expect it to have its own memory-resident caching.

    The reason for this is that like DataFaucet, Reactor probably only hase one or two (or at any rate a very small number) of CFQUERY tag pairs and they’re in some CFC method somewhere, so the name of the query needs to be var’ed to prevent race-conditions. And you can’t do that if you don’t know the name of the query in advance, but the clincher is that the native query caching in CFQUERY is based on the name of the query (and the SQL).

    So I would expect Reactor to implement something like DataFaucet that manages its own cache, which will also still work with CF7.

  2. Have you supplied your schema fix, say in the form of a subversion patch file to Doug? I don’t see anything attached to the ticket for SQL Server 2005.

  3. @Ike,

    Agreed. Would have to be its own caching mechanism.


    Yes. Both Brian Kotek and Matt Williams were in touch with Doug on numerous occasions.

  4. Well this is very interesting indeed.Would love to read a little more of this. Great post. Thanks for the heads-up…This blog was very informative and knowledgeable

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: