what ORM (aside from transfer) can I used with CS?

0 views
Skip to first unread message

jarthel

unread,
Sep 28, 2009, 8:06:00 PM9/28/09
to ColdSpring-Users
I've been testing transfer recently. my current project uses mach-ii
and CS. retrieving records and displaying them in a form is a breeze
with these 2.

When I introduce transfer, everything just grinded to almost a halt.
The request is taking too long to complete. CF request timeout is set
to 60secs already.

Anyway, is there another ORM that can work with CS without much
effort?

Thank you

Brian Kotek

unread,
Sep 28, 2009, 9:11:34 PM9/28/09
to coldspri...@googlegroups.com
I suspect that you are either reloading everything on every request, or you have the report execution times turned on in the debugging settings. Many people use Transfer and don't have the issues you're describing, so you're almost certainly doing something to cause this.

In any event, the only other ORMs I've tested are Reactor and DataFaucet, both of which will have the same issue as what you're setting if you don't have things set up correctly. You can also wait for CF9 and use the Hibernate integration.

Joey

unread,
Nov 3, 2009, 11:24:27 PM11/3/09
to ColdSpring-Users
Sorry to hijack this thread, but it's sorta related...

I use fb5.x - cs - reactor.
We're trying out a different way to load reactor into our apps...
Load Reactor through ColdSpring init() using defaultProperties and
pow! Everything works great. No loading problems for me... so far.

-- fusebox.init.cfm --

<cfscript>
coldSpringConfig = "coldspring.xml";
// set a heap of global vars in fusebox's xml file and call it back
through getApplication() - could either have the reactor path in the
xml or here...
myFusebox.getApplication().ReactorPath = expandPath("reactor.xml");

// Load coldspring - wooo!
application.beanFactory = CreateObject
('compontent','coldspring.beans.DefaultXMLBeanFactory').init
(defaultProperties=myFusebox.getApplication());
application.beanFactory.loadBeans(coldSpringConfig);
</cfscript>

-- coldspring.xml --

<beans default-autowire="byName">
<bean id="Reactor" class="reactor.reactorFactory">
<constructor-arg name="pathToConfigXml">
<value>${ReactorPath}</value>
</constructor-arg>
</bean>
</beans>


Let me know if this is a horrible way of doing it.

Dave Phipps

unread,
Nov 4, 2009, 4:58:11 AM11/4/09
to coldspri...@googlegroups.com
The only thing I do differently is to use Application.cfc to manage my
CS config, so I set up all the CS stuff in OnApplicationStart, e.g.

<cfset application.cs = createObject('component',
'coldspring.beans.DefaultXmlBeanFactory').init(defaultProperties=application.defaultProperties)
/>

I set my defaultProperties struct into the Application scope as well
so that I can access it all from outside of fusebox if needed.

In my circuit.xml (I know, still using the 'old' way) I then can call
the invoke method like so:

<invoke object="application.cs.getBean('ReportService')"
methodcall="listReportsByUser()" returnvariable="qlstReports" />

Not necessarily the right way but another way to achieve the same
thing. Works well when doing remote calls directly to ColdSpring.

Cheers,

Dave

2009/11/4 Joey <jos...@newlitho.com.au>:

Joseph Daly

unread,
Nov 4, 2009, 7:20:38 PM11/4/09
to coldspri...@googlegroups.com
Thanks for that Dave, I tend to overlook Application.cfc and never really use it. I'll give this a crack and let you know how I go.

- Joey
NOTICE:
This communication may contain confidential and privileged information that is for the sole use of the intended recipient. Any viewing, copying or distribution of, or reliance on this message by unintended recipients is strictly prohibited. If you have received this message in error, please notify us immediately by replying to this message and deleting it from your computer. The company accepts no responsibility for the content of any e-mail sent by an employee which is of a personal nature.

Sean Corfield

unread,
Nov 4, 2009, 9:01:42 PM11/4/09
to coldspri...@googlegroups.com
On Tue, Nov 3, 2009 at 8:24 PM, Joey <jos...@newlitho.com.au> wrote:
> <cfscript>
>   coldSpringConfig = "coldspring.xml";
>   // set a heap of global vars in fusebox's xml file and call it back
> through getApplication() - could either have the reactor path in the
> xml or here...
>   myFusebox.getApplication().ReactorPath = expandPath("reactor.xml");

I hope you mean myFusebox.getApplicationData().reactorPath = ... ?
getApplication() returns the FuseboxApplication object which you
should not be assigning elements to (and which probably doesn't make a
safe defaultProperties struct either). getApplicationData() returns a
struct of 'private' data for that application.

You also said you're doing this in fusebox.init.cfm but I expect you
mean fusebox.appinit.cfm (otherwise you're loading everything on every
request)?

Otherwise, yeah, extremely reasonable way to handle using Reactor with CS / FB!
--
Sean A Corfield -- (904) 302-SEAN
Railo Technologies US -- http://getrailo.com/
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

Joseph Daly

unread,
Nov 4, 2009, 9:33:16 PM11/4/09
to coldspri...@googlegroups.com
Oops! I knew I was 'sorta' on the right track. Just needed clarification. Thanks for help lads. Next step is to fix up my code base/data models, but I hope to learn more from that @ cfobjective. Getting there! slowly... but surely...

- Joey


-----Original Message-----
From: coldspri...@googlegroups.com on behalf of Sean Corfield
Sent: Thu 11/5/2009 1:01 PM
To: coldspri...@googlegroups.com
Subject: [coldspring-users] Re: what ORM (aside from transfer) can I used with CS?


Reply all
Reply to author
Forward
0 new messages