Re: CFQUERY Timeout for SQL2005 Fails
Anyone? Bueller? I really need an answer to this -- even though I'm running Fusion Reactor and can keep a survival strategy, this is no way to keep a server running. Is there anyone out there who's successfully used the TIMEOUT parameter in CFQUERY with CFMX 7.0.2 and SQL 2005 Standard? Hi Casey, What happened today is that the SQL server basically locked up. CF kept waiting for the request to come back, but it never did because it just hung infinititely. It seems as if CF waits forever in a case like this, so it's vital that I can kill the connection from the CFQUERY. The real query I run returns usually within milliseconds, about 75ms at most. So this is something that is out of the ordinary, but I want to prevent it from happening in the future. Is there a way? Thanks. how about adding WITH (NOLOCK) If your queries are just selecting data, i'd use WITH (NOLOCK) that way you don't need to wait for transactions to finish if that table gets heavy inserts cfquery name=test datasource=dsn timeout=1 select top 2 * WITH (NOLOCK) from table /cfquery ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321605 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFQUERY Timeout for SQL2005 Fails
Mark and Casey, Thanks for clarifying this for me. I don't own the SQL Server that I need to hit, so it looks like I'm between a rock and a hard place. I still don't think the TIMEOUT parameter is working, though. In my example, I'm hitting a database that is fully operational, and I have a query that runs for about 3.5 seconds. However, I have the TIMEOUT param set to 1, so shouldn't it time out in exactly 1 second and return an error? ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321612 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFQUERY Timeout for SQL2005 Fails
Also -- this may just be me being dense, but I don't get why the TIMEOUT feature in CFQUERY has to work this way. It's CF that's making the initial request to the datasource, so it should start counting down from the moment it creates that request. And then after waiting for a predetermined point of time (in my case, 1 second), it should sever the connection if the connection still exists and return an error. Is there another way this can be handled? Like I said, CFSETTING is also useless in this example, since it, too, has to wait for the CFQUERY to end. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321613 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFQUERY Timeout for SQL2005 Fails
Hi Mark, To answer your question -- there's a DDL transaction that's running on the server, and from what the folks have told me, an ALTER TABLE command was causing the lock to occur. And the downside is that giving hints (i.e., WITH (NOLOCK)) is not going to have an effect in this situation. Working for a large corporation, I often do not have control over the databases that are in the company. So as much as I'd love to fix the issue, I can't. I'm sure we've all been there. This is why it's imperative that CF has the ability to protect itself against underperforming datasources. - Sung The query timeout is not designed to work when there is no connection at all to the DB server. It is designed to time the statement - so if the connection itself is lost the setting will not have any affect. In affect you have an orphaned thread out there that is taking up space in the running request queue. The big question is why do you lose connection? Networking? Overloaded SQL server? That's where you need to focus I think. -Mark Mark A. Kruger, CFG, MCSE (402) 408-3733 ext 105 www.cfwebtools.com www.coldfusionmuse.com www.necfug.com Anyone? Bueller? I really need an answer to this -- even though I'm running Fusion Reactor and can keep a survival strategy, this is no way to keep a server running. Is there anyone out there who's successfully used the TIMEOUT parameter in CFQUERY with CFMX 7.0.2 and SQL 2005 Standard? ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321617 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFQUERY Timeout for SQL2005 Fails
Check this out. This one, as I've said before, outputs a number around 3000. cfquery name=test datasource=dsn timeout=1 select top 2 * from table/cfquery cfoutput#cfquery.ExecutionTime#/cfoutput However, this one results in an error: Error Executing Database Query. [Macromedia][SQLServer JDBC Driver]Execution timeout expired. cfquery name=test datasource=dsn timeout=1 select top 1 * from table waitfor delay '00:00:05' /cfquery cfoutput#cfquery.ExecutionTime#/cfoutput Porbably because the query in the second test ran under a second (completed successfully), then it waited five seconds. I read that portion of the docs, too, but I thought it meant if you'd strung more than a single SQL statement -- i.e., SELECT/INSERT/SELECT. Regardless, I think it's terrible that there isn't more substantial control over this. Shouldn't CF know how long a 3rd-party request is taking? There's a timeout parameter in CFHTTP, and it works just fine: wait.cfm cfset thread = CreateObject(java, java.lang.Thread) cfset thread.sleep(1) test.cfm cfhttp url=wait.cfm method=GET timeout=1 /cfhttp cfdump var=#CFHTTP# Result, in about two seconds: Statuscode 408 Request Time-out Which leads me to believe that the connection was indeed broken and CF completed the thread. And that's a 3rd-party call, too, isn't it? The docs say, no, it may not timeout at 1 second. Check out the livedocs... Because the timeout attribute only affects the maximum time for each suboperation of a query, the cumulative time may exceed its value. And, even then, the query stuff is considered to be 3rd party (or at least, so I remember reading a ways back) and does not fall under the same rules as CF templates when it comes to setting a timeout using CFsetting or by way of the administrator. The best way to kill those hung threads is going to be something like FusionReactor or SeeFusion. Matthew Williams Geodesic GraFX ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321627 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
CFQUERY Timeout for SQL2005 Fails
Here's my test: cfquery name=test datasource=dsn timeout=1 select top 2 * from table /cfquery cfoutput#cfquery.ExecutionTime#/cfoutput I'm getting 3000+ for this value. This shouldn't be, right? Because I have the timeout parameter set for a second? The driver I'm using is the one that's supplied with CFMX7.02, Microsoft SQL Server. The only way I can make this work is if I use cfsetting requesttimeout=1 enablecfoutputonly=No, but I don't want to do that. What is going on? ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321579 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFQUERY Timeout for SQL2005 Fails
Actually, I was wrong -- even cfsetting requesttimeout=1 enablecfoutputonly=No doesn't work, because it still waits for the cfquery to finish before it outputs the timeout error. Is there any solution for this? The database we're relying on is unstable and we need to be able to kill the query sooner. Thanks, - Sung Here's my test: cfquery name=test datasource=dsn timeout=1 select top 2 * from table /cfquery cfoutput#cfquery.ExecutionTime#/cfoutput I'm getting 3000+ for this value. This shouldn't be, right? Because I have the timeout parameter set for a second? The driver I'm using is the one that's supplied with CFMX7.02, Microsoft SQL Server. The only way I can make this work is if I use cfsetting requesttimeout=1 enablecfoutputonly=No, but I don't want to do that. What is going on? ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321590 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFQUERY Timeout for SQL2005 Fails
Hi Casey, What happened today is that the SQL server basically locked up. CF kept waiting for the request to come back, but it never did because it just hung infinititely. It seems as if CF waits forever in a case like this, so it's vital that I can kill the connection from the CFQUERY. The real query I run returns usually within milliseconds, about 75ms at most. So this is something that is out of the ordinary, but I want to prevent it from happening in the future. Is there a way? Thanks. how about adding WITH (NOLOCK) If your queries are just selecting data, i'd use WITH (NOLOCK) that way you don't need to wait for transactions to finish if that table gets heavy inserts cfquery name=test datasource=dsn timeout=1 select top 2 * WITH (NOLOCK) from table /cfquery ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321594 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
(Probably) Simple SQL Question?
There's probably a really simple answer to this. Here's the sample dataset: id namedate_duedate_modified 1 Woo 1/1/200911/18/2008 4:55PM 1 Woo 2/1/200911/18/2008 4:57PM 1 Woo 3/1/200911/18/2008 4:59PM 2 Smith 1/1/200911/18/2008 5:02PM 2 Smith 2/1/200911/18/2008 5:03PM 2 Smith 3/1/200911/18/2008 5:04PM What SQL can I run to return the two latest records for each user? id namedate_duedate_modified 1 Woo 3/1/200911/18/2008 4:59PM 2 Smith 3/1/200911/18/2008 5:04PM SELECT id, name, date_due, date_modified WHERE ? ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:315473 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: (Probably) Simple SQL Question?
Hi Rob, That would work in this instance, but I need something a little more dynamic. What if the dataset looked like this? id name date_due date_modified 1 Woo 1/1/2009 11/18/2008 4:55PM 1 Woo 2/1/2009 11/18/2008 5:21PM 1 Woo 3/1/2009 11/18/2008 5:30PM 2 Smith 1/1/2009 11/18/2008 5:02PM 2 Smith 2/1/2009 11/18/2008 5:03PM 2 Smith 3/1/2009 11/18/2008 5:04PM Then it would bring up two records for Woo but none for Smith. I need to bring up the latest record for Woo and the latest record for Smith. And keep in mind that this dataset could have a hundred users listed, in which case I'd need the latest record for each of the 100 users. select top 2 * from tables order by date asc should get you there. Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:315477 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: (Probably) Simple SQL Question?
Actually, your suggestion wouldn't work for the first set, either, as it would bring up 2 records for Smith and none for Woo. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:315479 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: (Probably) Simple SQL Question?
Thanks, Gerald. This is close, except there is a bit of a problem. I need to group this not by just one field but three fields, so the dataset actually looks like this (fields 1 - 3 make up the unique key): field 1 field 2 field 3 date_due date_modified 1 2 3 1/1/2009 11/18/2008 4:55PM 1 2 3 2/1/2009 11/18/2008 5:21PM 1 2 3 3/1/2009 11/18/2008 5:30PM 1 2 4 1/1/2009 11/18/2008 5:02PM 1 2 4 2/1/2009 11/18/2008 5:03PM 1 2 4 3/1/2009 11/18/2008 5:04PM How can I do this using a subquery like you have outlined? ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:315484 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: (Probably) Simple SQL Question?
What database are you using? We're still using SQL2000, so 2005 commands won't help me here...thanks... ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:315485 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
CFDIRECTORY and Multiple Spaces Between Filename
Running CFMX7.0.2. Not sure if this applies to other versions, but have you noticed that if you have two files in a directory, say: whatever whatever.txt (one space between names) whatever whatever.txt (two spaces between names) and if you do CFDIRECTORY in this directory, the NAME column will list both files as: whatever whatever.txt whatever whatever.txt I can't possibly be the first one to notice this, right? And somebody must have a workaround...right? Please? Pretty please? - Sung ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;192386516;25150098;k Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:307289 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: CFDIRECTORY and Multiple Spaces Between Filename
D'oh, never mind. It's because the browser kills the spaces. If I PRE it, it comes out fine. Running CFMX7.0.2. Not sure if this applies to other versions, but have you noticed that if you have two files in a directory, say: whatever whatever.txt (one space between names) whatever whatever.txt (two spaces between names) and if you do CFDIRECTORY in this directory, the NAME column will list both files as: whatever whatever.txt whatever whatever.txt I can't possibly be the first one to notice this, right? And somebody must have a workaround...right? Please? Pretty please? - Sung ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;192386516;25150098;k Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:307291 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
CFDIRECTORY NUL bug
Is it just me or does this produce an error for everyone? cfdirectory action=create directory=C:\NUL\ It's the word NUL that's giving CF 7.0.2 the heebie-jeebies. It's not able to create it. Any workarounds? - Sung ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;192386516;25150098;k Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:302521 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: The request has exceeded the allowable time limit
How long do you expect the job to take to complete? 2 hours seems way too long for an http request to run. How many templates are involved? Hi Neil, At this point, I don't expect the job to take any more than 15 minutes. I currently have around 750 records, and at the 10-minute mark, it gets to about 450. It's entirely possible for the transaction to take 2 hours, though, down the road. The script runs when nobody is on the server, so load is not an issue. I'm pulling in 5 other templates. For each record, it takes 2 seconds to run. Here's a snippet of the log file: {ts '2007-06-12 22:33:38'}: Start 1 {ts '2007-06-12 22:33:40'}: End 1 {ts '2007-06-12 22:33:40'}: Start 2 {ts '2007-06-12 22:33:42'}: End 2 {ts '2007-06-12 22:33:42'}: Start 3 {ts '2007-06-12 22:33:44'}: End 3 .. .. .. {ts '2007-06-12 22:43:36'}: Start 574 {ts '2007-06-12 22:43:37'}: End 574 {ts '2007-06-12 22:43:37'}: Start 575 {ts '2007-06-12 22:43:38'}: error 575 You can see here that exactly at 10 minutes, the script halts. Is there some other setting in jrun.xml or something that I'm missing? ~| ColdFusion 8 beta â Build next generation applications today. Free beta download on Labs http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_adobecf8_beta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:280981 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: The request has exceeded the allowable time limit
On Wednesday 13 Jun 2007, Sung Woo wrote: I'm pulling in 5 other templates. For each record, it takes 2 seconds to run. Here's a snippet of the log file: What are you doing ? Maybe you could do it faster (like in a stored proc.) ? Hi Tom, It's possible to do it in a SP, but there's a whole lot of stuff that's happening that I don't think I can replicate in a SP. At least not easily. And besides, it's already written in CF, so I can't go back now. 2 seconds for a transaction that ties together data from four discrete databases is OK in my book. My main question still remains unanswered -- is there some place in CF where a 600-second template limitation exists? ~| Upgrade to Adobe ColdFusion MX7 The most significant release in over 10 years. Upgrade see new features. http://www.adobe.com/products/coldfusion?sdid=RVJR Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:280988 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: The request has exceeded the allowable time limit
Like most CF transactions, I consider anything longer than 250ms to be ugly, but I have to make an exception in this case. Two of the tables I'm hitting are extremely slow (200-300ms for data to return from the metrics I've run), so there are inherent issues with this transaction. CF Admin is not the issue. I have a timeout of 60 seconds, but CFSETTING RequestTimeout = xxx is supposed to overrule that. - Sung On Wednesday 13 Jun 2007, Sung Woo wrote: happening that I don't think I can replicate in a SP. At least not easily. And besides, it's already written in CF, so I can't go back now. You can (should ?) if it is running for too long. 2 seconds for a transaction that ties together data from four discrete databases is OK in my book. I'd expect it to run in well under a second. Tens of milli's, ideally. Maybe that's just me. My main question still remains unanswered -- is there some place in CF where a 600-second template limitation exists? The CF admin., not unusually. ~| Upgrade to Adobe ColdFusion MX7 The most significant release in over 10 years. Upgrade see new features. http://www.adobe.com/products/coldfusion?sdid=RVJR Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:281029 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: The request has exceeded the allowable time limit
Looks like my reply got hosed somehow. In any case, to make a long story short, two of the DBs I hit come with some ugly latency, so 2 seconds is the best I can do. I always try to hit 250ms or less in anything I do in CF, but sometimes exceptions have to be made. CF Admin can't be the issue -- I have a 60-second limit on templates, but that's meaningless when you have cfsetting requesttimeout=xxx on the page. If there's no solution to this, then I'll need to run the script in steps -- 300 or 400 records at a time. On Wednesday 13 Jun 2007, Sung Woo wrote: happening that I don't think I can replicate in a SP. At least not easily. And besides, it's already written in CF, so I can't go back now. You can (should ?) if it is running for too long. 2 seconds for a transaction that ties together data from four discrete databases is OK in my book. I'd expect it to run in well under a second. Tens of milli's, ideally. Maybe that's just me. My main question still remains unanswered -- is there some place in CF where a 600-second template limitation exists? The CF admin., not unusually. ~| Create Web Applications With ColdFusion MX7 Flex 2. Build powerful, scalable RIAs. Free Trial http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJS Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:281033 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: The request has exceeded the allowable time limit
Which means that despite the requesttimeouts I have here, something else is overriding it and putting a hard limit of 60 seconds. I do have FusionReactor on this box, but crash protection is not enabled, so it shouldn't be the cause. What is going on here? Sorry, I meant a hard limit of 600 seconds, or 10 minutes. ~| ColdFusion MX7 and Flex 2 Build sales marketing dashboard RIAâs for your business. Upgrade now http://www.adobe.com/products/coldfusion/flex2?sdid=RVJT Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:280931 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
The request has exceeded the allowable time limit
For the life of me, I can't figure out what I'm doing wrong. Running CFMX7.0.2 on Win2K: I have a scheduled task that includes a bunch of other templates, updating a bunch of tables. Anyway, I have the Timeout (sec) value in the Scheduled Task set at 7200. That's 2 hours, right? 60 seconds * 60 minutes * 2 = 7200 seconds. On the scheduled task itself, I have this on top of it: cfsetting requesttimeout=18000 enablecfoutputonly=No Yet this is the problem: I get this error at EXACTLY the 10 minute mark: The request has exceeded the allowable time limit Sometimes it's CFQUERY; other times it's CFFILE; whatever it hits at the 10 minute mark is when this error is generated. Which means that despite the requesttimeouts I have here, something else is overriding it and putting a hard limit of 60 seconds. I do have FusionReactor on this box, but crash protection is not enabled, so it shouldn't be the cause. What is going on here? ~| CF 8 â Scorpio beta now available, easily build great internet experiences â Try it now on Labs http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_adobecf8_beta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:280929 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Flash CFGRID and Date Sorting
Is it just me or is Flash CFGRID's date sorting all screwed up? Here's my code: cfgridcolumn name=date_modified header=Date Modified type=STRING_NOCASE mask=MM/DD/YY LL:NNAA width=130 It does work -- eventually. I have to click on the heading three times -- after the third, it sorts correctly every time I click on it (ascending and descending). I have similar issues with sorting checkboxes (BOOLEAN). I just upgraded to 7.0.2, but it hasn't helped. ~| Create robust enterprise, web RIAs. Upgrade integrate Adobe Coldfusion MX7 with Flex 2 http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262909 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Turning the XML Contents of a SOAP Envelope into a Structure?
Hi folks, I'm using CFINVOKE and CFHTTP to send SOAP-enveloped XML data to a server. Once the transaction is complete, the server sends me a response, also in SOAP-enveloped XML, like this one: ?xml version=1.0 encoding=utf-8? soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd=http://www.w3.org/2001/XMLSchema; soap:Body CreateServiceRequestResponse xmlns=http://tempuri.org/; ServiceResponse xmlns='http://www.site.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' ServiceRequestID1/ServiceRequestID ResponseCodeS001/ResponseCode DescriptionThe Service request was submitted successfully/Description /ServiceResponse /soap:Body /soap:Envelope What I want to do is store the ServiceRequestID, ResponseCode, and Description into a table for logging purposes. Sorry if this is such a rudimentary question, but this is the first full-blown SOAP/XML transaction I'm doing, and it's been a bit of a learning experience. I'm guessing it involves WDDX somehow, to turn this XML into a structure (which I can then simply insert into a SQL table) but if somebody can point me in the right direction, I would appreciate it. - Sung ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:259615 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Turning the XML Contents of a SOAP Envelope into a Structure ?
Sorry for the confusion -- I'm using CFINVOKE to run the web service on my end, to generate the XML. Then I'm using CFHTTP to send the XML data to the other server. I'm using CFINVOKE and CFHTTP to send SOAP-enveloped XML data to a server. I'm confused. Which one are you using, CFINVOKE or CFHTTP? If you're using CFINVOKE, you shouldn't need to tinker with the SOAP envelope at all. If you're using CFHTTP, have you tried using CFINVOKE instead? Thanks, Dave. I did just as you suggested and it looks good except it doesn't seem to go beyond a certain point. When I CFDUMPed the SOAP structure via XMLParse, the last bit (and of course, the most important), looks like this: CreateServiceRequestResult - XmlText 1S001The Service request was submitted successfully The XML looks like this: ServiceRequestID1/ServiceRequestID ResponseCodeS001/ResponseCode DescriptionThe Service request was submitted successfully/Description Why does it choose to concatenate those last three sets of data? When I tried to CFOUTPUT this: myxmlobj.Envelope.Body.CreateServiceRequestResponse.ServiceResponse.CreateServiceRequestResult.xmlText it works fine, but if I try myxmlobj.Envelope.Body.CreateServiceRequestResponse.ServiceResponse.CreateServiceRequestResult.ServiceRequestID.xmlText it chokes... I'm guessing it involves WDDX somehow, to turn this XML into a structure (which I can then simply insert into a SQL table) but if somebody can point me in the right direction, I would appreciate it. If you know that the XML document will always have more or less the same hierarchy of nodes, you can do this easily enough using CF's XML functionality. Use XMLParse to turn the string into an XML document object. CFDUMP that XML document object to see what it contains. CF will let you reference elements and their values using array and structure notation. So, in the example you provided, I think you could get to ServiceRequest with something like this: myxmlobj.Envelope.Body.ServiceResponse.ServiceRequestID.xmlText Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information! ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:259629 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Turning the XML Contents of a SOAP Envelope into a Structure ?
Hi Dave, I found my error, and I took care of it with the following snippet: cfset temp = Replace(ToString(results.filecontent), 'lt;', '', 'ALL') cfset temp = Replace(temp, 'gt;', '', 'ALL') cfset myxmlobj = XMLParse(temp) What happened was that the last three bits of code were demoralized, so I remoralized them, and now it works fine! Thanks for all your help. By the way, I took your CF Advanced course in NYC when it was still Allaire. It was without a doubt the best CF class I took, so thank you for that and for all your help here, too! - Sung ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:259644 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Turning the XML Contents of a SOAP Envelope into a Structure ?
Ooops...looks like HTML rendered my code to junk status. Here's the revised: cfset temp = Replace(ToString(results.filecontent), ' lt;', '', 'ALL') cfset temp = Replace(temp, ' gt;', '', 'ALL') Except in the real code, there aren't spaces between and lt or gt (I just did it here so it'll display on the post). - sung ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:259660 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Turning the XML Contents of a SOAP Envelope into a Structure ?
Just wanted to correct one thing: cfset temp = Replace(ToString(results.filecontent), ' lt;', '', 'ALL') cfset temp = Replace(temp, ' gt;', '', 'ALL') In the actual code, there is no space between lt and gt, but in order for it to display properly here, I added the spaces. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:259664 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
CFFLUSH and Fusebox 5
I can't get CFFLUSH to work with FB5. My main circuit.xml looks like this. I'm still not that familiar with FB4/5 so I'm hoping somebody can point me in the right direction. I've read somewhere that using do or include will trigger cfcontentvariable, but I don't see how I can get around not using those commands...thank you. circuit access=public prefuseaction callsuper=false set name=variables.pagetitle value=Page Title / do action=layouts.header/ /prefuseaction fuseaction name=welcome xfa name=grandparent value=grandparent.sayHello / xfa name=parent value=parent.sayHello / xfa name=child value=child.sayHello / xfa name=grandchild value=grandchild.sayHello / include template=dspWelcome / /fuseaction fuseaction name=home xfa name=tests value=tests.home / xfa name=sitenews value=sitenews.home / xfa name=app value=app.home / include template=dspHome / /fuseaction postfuseaction do action=layouts.footer / /postfuseaction /circuit ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:258549 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFFLUSH and Fusebox 5
layout.header and layout.footer are your typical headers and footers -- header graphics, a dropdown menu, etc. The footer is nothing more than just a few graphics. I'm calling the cfflush from the body of the page. The circuit.xml looks like this: circuit access=public prefuseaction callsuper=false set name=variables.pagetitle value=Links/ do action=layouts.header/ /prefuseaction fuseaction name=home include template=dspHome.cfm / /fuseaction postfuseaction callsuper=true /postfuseaction /circuit Whats in your layout.header, and your layout.footer. Where is your cfflush trying to be called? ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:258558 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFFLUSH and Fusebox 5
Thanks, Sandra. Then what do you think is the reason why I can't get CFFLUSH to work? As it stands, I don't see any output until the whole page is loaded. I'm using the sample code on Macromedia's site: H1Your Magic numbers/H1 PIt will take us a little while to calculate your ten magic numbers. It takes a lot of work to find numbers that truly fit your personality. So relax for a minute or so while we do the hard work for you./P H2We are sure you will agree it was worth the short wait!/H2 cfflush cfflush interval=10 !--- Delay Loop to make is seem harder --- cfloop index=randomindex from=1 to=2 step=1 cfset random=rand() /cfloop !--- Now slowly output 10 random numbers --- cfloop index=Myindex from=1 to=10 step=1 cfloop index=randomindex from=1 to=1 step=1 cfset random=rand() /cfloop cfoutput Magic number number #Myindex# is:nbsp;nbsp;#RandRange( 10, 99)#brbr /cfoutput /cfloop It looks fine to me. While you can use the contentvariable attribute in either the do / or include / commands, they aren't required. If you don't use them, then the information is output as it is created. Sandra Clark == http://www.shayna.com Training in Cascading Style Sheets and Accessibility ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:258553 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFFLUSH and Fusebox 5
Hi Brad, Not that I know of -- I'm using IIS 5 on W2K. Is your web server doing any compression? I use Apache, and enable compression in http.conf-- I have to turn that off for cfflush to work. DeflateFilterNote ratio AddOutputFilterByType DEFLATE text/* Etc.. Just a thought. ~Brad ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:258559 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFFLUSH and Fusebox 5
Crap -- it is the header/footer that's causing the issue. I just tried it with the header/footer stripped, and sure enough, cfflush works just fine. The problem is that my header and footer create a table, and the body is inside the td tag. I can't imagine I'm the only one who does this in their layout. header.cfm table tr td footer.cfm /td /tr /table So my data is being pulled in between header.cfm and footer.cfm. How can I work around this? I need the page formatted properly, and for it always to snap 100% inside the page... ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:258606 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: CFFLUSH and Fusebox 5
Yup, that's the issue. I can't get around this...the layout was done by a third-party vendor and I really can't change this now. Outside of completely overhauling my layout, do I have any alternatives? Much thanks from both of you guys, by the way... - Sung Well the problem then is the fact that a browser won't render without the table being fully closed. Try a tableless layout? Sandra Clark == http://www.shayna.com Training in Cascading Style Sheets and Accessibility ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:258608 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: CFFLUSH and Fusebox 5
Thanks, Sandra. I did exactly as you suggested and now it's working fine. The only thing I lost were the gray bars on the left and right of the page (borders which were part of the table structure), but I can live without them. - Sung Unfortunately, there isn't much you can do with a tabled layout. My only suggestion would be to enclose your header and footer in their own tables? For all regular output, enclose them in their own table as well. For the flush content, don't enclose it in a table. Sandra Clark == http://www.shayna.com Training in Cascading Style Sheets and Accessibility ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:258625 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RC2 via Bouncy Castle - last block incomplete in decryption
I've followed the TechNote (http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=e546373d) to the letter, trying to get RC2 encryption/decryption to work. I keep getting last block incomplete in decryption error no matter which keys I use. It works fine for RC4. What am I doing wrong? #Decrypt(M5Kbj6C5nsmJRQ==, '12345678', 'RC2', 'Base64')# This works without a hitch: #Encrypt(testing123, '12345678', 'RC4', 'Base64')# (outputs s/BfPyimOCBlqg==) #Decrypt(s/BfPyimOCBlqg==, '12345678', 'RC4', 'Base64')# (outputs testing123) ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:256104 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: RC2 via Bouncy Castle - last block incomplete in decryption
Never mind -- it actually works just fine. It turns out that the encrypted string was the problem: tNMtwvuAtRO+Hvs1ciH7bw== outputs testing123 via RC2/Base64. I've followed the TechNote (http://www.adobe. com/cfusion/knowledgebase/index.cfm?id=e546373d) to the letter, trying to get RC2 encryption/decryption to work. I keep getting last block incomplete in decryption error no matter which keys I use. It works fine for RC4. What am I doing wrong? #Decrypt(M5Kbj6C5nsmJRQ==, '12345678', 'RC2', 'Base64')# This works without a hitch: #Encrypt(testing123, '12345678', 'RC4', 'Base64')# (outputs s/BfPyimOCBlqg==) #Decrypt(s/BfPyimOCBlqg==, '12345678', 'RC4', 'Base64')# (outputs testing123) ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:256117 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: RC2 via Bouncy Castle - last block incomplete in decryption
I ran into a problem after all. I'm trying to interface with AspEncrypt, a third-party app that gives ASP encryption capabilities. Has anyone had any success exchanging encrypted data with AspEncrypt? I'm running into strange issues. To summarize: I'm using a simple hash command to generate a RC2-compatible key: hash(key, SHA). cfoutput#hash(key, SHA)#/cfoutput generates A62F2225BF70BFACCBC7F1EF2A397836717377DE, but this key is incompatible with AspEncrypt: Set CM = Server.CreateObject(Persits.CryptoManager) Set Context = CM.OpenContext(container, True) Set Blob = CM.CreateBlob Blob.Hex = A62F2225BF70BFACCBC7F1EF2A397836717377DE Set Key = Context.ImportRawKey(Blob, calgRC2) Set Blob = Key.EncryptText(testing123) strEnc = Blob.Base64 This gives a bad block error. The ImportRawKey method is supposed to take the key as is, with no further translation or hashing, so this should work, but it doesn't. Any ideas? ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:256193 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Crawling a Site When Site Uses Security
Thank you for all your replies -- one of them should certainly work out for me. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:256196 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Crawling a Site When Site Uses Security
I run an intranet site in our company, and it is protected through CF (user table in SQL, using session variables, etc.). What I want to do is crawl through my site for the purpose of searching (we just bought a Googlebox), but I'm not sure how to approach this. Since the Googlebox is unable to authenticate, it only can get to the login page. I thought about opening the site up without security for the duration of the crawl, but that's not really possible (since it would leave the site vulnerable). I'm sure people have worked around this issue, so any help at all would be much appreciated. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:255170 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Must I Use Evaluate() Here?
I have a structure called stcFilters. In this structure, I have the following values: stcFilters.filter_1 = 100 stcFilters.filter_2 = 200 I want to show the value of these filters through a cfloop: cfloop index=i from=1 to=2 cfset temp = Evaluate(stcFilters.filter_#i#) cfoutput#temp#/cfoutput /cfloop I can't seem to get around using the evil Evaluate -- can anyone help? Much thanks. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:251485 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Must I Use Evaluate() Here?
I knew it was something really simple. Thank you! stcFilters['filter_#i#'] works Sung Woo wrote: ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:251489 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
index.cfm Conundrum
I have a very strange issue with a server running CFMX7. This server initially was running CFMX7 standalone, and when the time came, it was uninstalled and reinstalled as a CFMX7 using IIS. So now here's the wacky issue: no matter the site (on ports 80 and 81), whenever the file index.cfm is pulled from the root, it always goes to c:\cfusionmx7\wwwroot\index.cfm. It ONLY happens with index.cfm -- no other .cfm file does this! I'm guessing this is because it had once been a standalone installation, so how can I stop this from happening? As a test, I created a dummy site on port 82, and sure enough, the same exact thing happened -- using CF_TEMPLATE_PATH, I can see that c:\cfusionmx7\wwwroot\index.cfm is always the file pulled. Any help on this would be greatly appreciated. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:243354 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: index.cfm Conundrum
Hi Rob, Thanks -- it's not checked. Take a look at your settings in CF Admin. In the Caching settings, ensure that Cache web server paths is unchecked. This is important for servers running multiple sites. On 6/13/06, Sung Woo [EMAIL PROTECTED] wrote: I have a very strange issue with a server running CFMX7. This server initially was running CFMX7 standalone, and when the time came, it was uninstalled and reinstalled as a CFMX7 using IIS. So now here's the wacky issue: no matter the site (on ports 80 and 81), whenever the file index.cfm is pulled from the root, it always goes to c:\cfusionmx7\wwwroot\index.cfm. It ONLY happens with index. cfm -- no other .cfm file does this! I'm guessing this is because it had once been a standalone installation, so how can I stop this from happening? As a test, I created a dummy site on port 82, and sure enough, the same exact thing happened -- using CF_TEMPLATE_PATH, I can see that c:\cfusionmx7\wwwroot\index.cfm is always the file pulled. Any help on this would be greatly appreciated. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:243361 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: index.cfm Conundrum
Save class files is checked. I bet I need to restart the server, right? I'll have to wait to do that. Hi Rob, Thanks -- it's not checked. Are all three values unchecked? I just unchecked the middle one and it resolved a somewhat similar issue for me. -- Ian Skinner Web Programmer BloodSource www.BloodSource.org Sacramento, CA - | 1 | | - Binary Soduko | | | - C code. C code run. Run code run. Please! - Cynthia Dunning Confidentiality Notice: This message including any attachments is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender and delete any copies of this message. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:243370 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: index.cfm Conundrum
I had this issue with 6.1, but it's the first time I've experienced it with 7. I'm not sure the save class file will help, but I'll give it a shot. Keep in mind that this is only happening with the index.cfm file, nowhere else, and only when it's called from root. So to summarize: http://localhost/index.cfm pulls in c:\cfusionmx7\wwwroot\index.cfm http://localhost/default.cfm pulls in d:\site1\default.cfm http://localhost/app/index.cfm pulls in d:\site1\app\index.cfm http://localhost:81/index.cfm pulls in c:\cfusionmx7\wwwroot\index.cfm http://localhost:81/default.cfm pulls in d:\site2\default.cfm http://localhost:81/app/index.cfm pulls in d:\site2\app\index.cfm It's only index.cfm, and only if it's being pulled in off the root. Like I said, it's a very weird issue. The save class files simple saves the java byte code of a given file. As I understand it, it's the other option that caches only one location for the file. For example, on a multi-homed server (a web server serving more than one CF site), if the index.cfm file for site1 is rendered first, then any calls for index.cfm on site2 will be served site1's index.cfm because the server path for index.cfm was cached as the path to site1. Likewise, if no file was cached and site2 was called first then the path to index.cfm would be cached as that of site2. This was a problem in v6.x because the caching value defaulted to true (cache the path) and it wasn't available in the administrator. You had to edit the XML config file to change it. The problem you're describing sounds like that to me. On 6/13/06, Sung Woo [EMAIL PROTECTED] wrote: ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:243381 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Fusebox 4 Slow?
I'm seeing some ugly execution times for Fusebox 4...the page I'm generating is nothing more than a straight HTML page, yet it takes 422ms to generate? Looks like the bulk of the time is being spent on fusebox40.runtime.cfmx.cfm, index.cfm, and fusebox40.loader.cfmx.cfm. What gives? Execution Time Total Time Avg Time Count Template 422 ms 422 ms 1 D:\site\fusebox40.runtime.cfmx.cfm 422 ms 422 ms 1 D:\site\index.cfm 266 ms 266 ms 1 D:\site\fusebox40.loader.cfmx.cfm 16 ms 16 ms 1 D:\site\fusebox40.parser.cfmx.cfm 15 ms 15 ms 1 D:\site\fusebox40.transformer.cfmx.cfm 0 ms 0 ms 1 D:\site\Application.cfm 0 ms 0 ms 1 D:\site\adplinks\dspHome.cfm 0 ms 0 ms 1 D:\site\layouts\layFooter.cfm 0 ms 0 ms 1 D:\site\layouts\layHeader.cfm 0 ms 0 ms 1 D:\site\myGlobals.cfm 0 ms 0 ms 1 D:\site\parsed\parsed.adplinks.home.cfm 0 ms 0 ms 1 D:\site\plugins\Globals.cfm 0 ms 0 ms 1 D:\site\security\application.cfm 0 ms STARTUP, PARSING, COMPILING, LOADING, SHUTDOWN 422 ms TOTAL EXECUTION TIME ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:242604 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Fusebox 4 Slow?
Holy crap -- did that ever make a difference! Thanks, Barney. - Sung You've got the mode in fusebox.xml set to 'development', which INTENTIONALLY rebuilds the entire framework's metadata on every request. If you switch it to 'production', you'll see a nice improvement, at the expense of having the framework stop looking for changes to the XML files (both fusebox.xml and circuit.xml). cheers, barneyb On 6/6/06, Sung Woo [EMAIL PROTECTED] wrote: -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/ Got Gmail? I have 100 invites. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:242608 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Fusebox 4 Slow?
So how do I force the system to see changes to those XML files (when I do make a change, which will be inevitable)? Do I just switch it back to development, run it again, then switch it back to production? You've got the mode in fusebox.xml set to 'development', which INTENTIONALLY rebuilds the entire framework's metadata on every request. If you switch it to 'production', you'll see a nice improvement, at the expense of having the framework stop looking for changes to the XML files (both fusebox.xml and circuit.xml). cheers, barneyb On 6/6/06, Sung Woo [EMAIL PROTECTED] wrote: -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/ Got Gmail? I have 100 invites. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:242609 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Fusebox 4 Slow?
Thank you both! - Sung ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:242627 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Turning on Metrics on CFMX7
For some reason, I can't get metrics running on a recent CFMX7 upgrade (from CFMX6.1). The relevant portions on jrun.xml are as follows: !-- This Service provides metrics information -- !-- == -- service class=coldfusion.server.jrun4.metrics.MetricsServiceAdapter name=MetricsService attribute name=bindToJNDItrue/attribute /service !-- == -- !-- This Service represents JRun's logging facility-- !-- == -- service class=jrunx.logger.LoggerService name=LoggerService attribute name=format{server.date} {log.level} {log.message}{log.exception}/attribute !-- You can modify format to suit your need. -- !-- EXAMPLE: attribute name=format{date MM/dd HH:mm:ss} {log.message}{log.exception}/attribute -- attribute name=errorEnabledtrue/attribute attribute name=warningEnabledtrue/attribute attribute name=infoEnabledtrue/attribute attribute name=debugEnabledfalse/attribute !-- You may also need to uncomment MetricsService if you want metrics enabled -- attribute name=metricsEnabledtrue/attribute attribute name=metricsLogFrequency120/attribute attribute name=metricsFormatWeb threads (busy/total): {jrpp.busyTh}/{jrpp.totalTh} Sessions: {sessions} Total Memory={totalMemory} Free={freeMemory}/attribute service class=jrunx.logger.ThreadedLogEventHandler name=ThreadedLogEventHandler service class=jrunx.logger.ConsoleLogEventHandler name=:service=ConsoleLogEventHandler / service class=jrunx.logger.FileLogEventHandler name=FileLogEventHandler attribute name=filename{jrun.rootdir}/logs/{jrun.server.name}-event.log/attribute attribute name=rotationSize200k/attribute attribute name=rotationFiles3/attribute !-- Use heading to specify an alternate log heading for system event log. -- !-- EXAMPLE: attribute name=heading# Created by JRun on {date MM/dd HH:mm:ss}/attribute -- attribute name=closeDelay5000/attribute attribute name=deleteOnExitfalse/attribute /service /service /service Is there something I'm doing wrong? The log directory is C:\CFusionMX7\runtime\logs, and I'm looking at coldfusion-out.log. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:236307 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
CFMX7 Logs Using CFMX6 Logs!
After upgrading to CFMX7, I'm seeing something weird. I haven't uninstalled CFMX6.1 yet, but the service is turned off. In any case, I'm seeing that CFMX7 is using C:\ColdFusionMX\logs instead of C:\ColdFusionMX7\logs. Why the heck would it be doing this, and how can I change it? ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:236308 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFMX7 Logs Using CFMX6 Logs!
Thanks, Rob! In the MX 7 administrator, you can specify your logging directory. Look in the logging settings section, I believe. On 3/28/06, Sung Woo [EMAIL PROTECTED] wrote: After upgrading to CFMX7, I'm seeing something weird. I haven't uninstalled CFMX6.1 yet, but the service is turned off. In any case, I'm seeing that CFMX7 is using C:\ColdFusionMX\logs instead of C:\ColdFusionMX7\logs. Why the heck would it be doing this, and how can I change it? ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:236313 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: cfm vs. php?
Costwise, you can also get CFML through BlueDragon: http://www.newatlanta.com/products/bluedragon/product_info/features.cfm The minimum server is still free, another reason to go CFML instead of PHP. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:236316 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: cfm vs. php?
Is that right? I thought CPU count only comes into account for .NET or J2EE versions. For the plain ol' server version, I thought it was no cost? http://www.newatlanta.com/products/bluedragon/product_info/pricing.cfm It's only actually cheaper for single CPU servers though. So the benefit of BlueDragon over CFMX isn't really cost, but rather it's feature set and support. Russ ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:236318 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Flash Form CFGRID Hyperlink
The more I use Flash Forms, the more I find how restrictive they are. Case in point: I'm trying to create a simple CFGRID with two columns: car name and a text field for color. I want the user to be able to type in anything for the color, and I want this information to be saved to a table. All of this is fine -- it's within the scope of CFGRID -- but I want one other thing. I want the user to be able to click on the car name and have it drill down to another page (picture and specs of the car, let's say). It seems like it isn't possible, at least not to me, to have an updatable grid that allows for a hyperlink in one of its columns. If there's a workaround, I'd like to hear it. FYI: I can't use onChange=xx because if I click on the text field, it drills down. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:234529 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Flash Form CFGRID Hyperlink
Thanks, Nick. The problem with this method is that if I click on any part of the row, it drills down. So if I have two columns, one that's just text and another that's an editable text field, clicking on either one ends up drilling down. I need the drilldown to only happen on the static text column. Sung, there's a workaround. Use 'onchange' event hander in the cfgrid. onchange=getUrl('index.cfm' + grid_name.dataProvider[grid_name.selectedIndex]['database_field_name']); ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:234547 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Dropdown in Flash CFGRID?
Is it possible to create a dropdown (select box) inside a Flash CFGRID? This was possible with the applet version (values=1,2 valuesdisplay=fred,ethel parameter), but it doesn't look like it's a built-in feature of Flash CFGRID. Is there a workaround? ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229171 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Dropdown in Flash CFGRID?
Thanks, Brad. Are there any examples around I could see? In flash, yes it is possible, but you have to use action script to specify a special cellRenderer. It is not a built in feature of CFGRID. ~Brad ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229176 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Dropdown in Flash CFGRID?
Hi Brad, Guess what -- I googled cellrenderer and actionscript and cfgrid and got this result: http://cfpim.blogspot.com/2005/08/grid-cellrenderer-in-flash-forms.html I think this might work...big thanks for replying to this thread! I have not done this before, so I don't have any examples, but if I ever do try it, I will post one here. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229186 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Datasource Setup Question
No -- I'd just read somewhere that 1-2 connections per CPU is the norm for SQL. I'm the one who's limiting it. Sounds like from the other reply, I should maybe remove this to see what happens. Limit Connections - YES Restrict connections to - 6 Is this because you only have a small number of connection licenses? ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:209910 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Datasource Setup Question
I'll see if removing the connection limitation has any effect. I do have CFMX fully updated (latest SP and hotfixes). I was under the impression that removing maintain connections ends up being a large performance hit -- is this not true? I do have pages taking longer than 10 seconds logged against server.log. I do see some entries, but they are what I expect (we have one reporting page that can take as long as a minute to run). On the day that the crash happened, there were no entries in the server.log for long-running pages. I guess the crash happened so quickly and so suddenly that server.log didn't get a chance to write anything. in your situation I would probably remove the connection limitations for the DSN. Do you have CFMX fully updated? We had some issues with 'maintain connections' set to yes and for our heavy DB based apps we still have it set to off. What you probably want to look at is your server log in CFAdmin. Look for long running request messages and focus on those pages for some tuning perhaps. Make sure you have 'log long running requests' set to yes. DK ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:209911 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: Datasource Setup Question
Hi Mark, I believe Douglas's post suggested removing maintain connections -- at least that's the way I read it. Here's the snippet: We had some issues with 'maintain connections' set to yes and for our heavy DB based apps we still have it set to off. I'll see what kind of a performance hit it is. I ran some stress tests and it all came out fine, but Monday will be the deciding factor. Usage is highest on Monday, so if the box survives the onslaught, it should be fine for the rest of the week. - Sung To clarify - if the checkbox for maintain connections is unchecked it IS a performance hit. I didn't see anyone suggesting that you remove it. You WANT to mainain connections, you just don't want to restrict the number of connections. You want CF to be able to create enough connections to service the load. The connections are pooled and recycled as needed. ~| Find out how CFTicket can increase your company's customer support efficiency by 100% http://www.houseoffusion.com/banners/view.cfm?bannerid=49 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:209936 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Datasource Setup Question
I have a quad-processor machine for a webserver and a quad-processor machine for a database server. Running CFMX 6.1 and MS SQL 2000. My question is about datasource setup in the administrator. My site is an intranet, and it isn't heavily used (about 150 people online at the same time). Simultaneous requests is set to 12 and timeout is set at 35 on both Administrator and jrun.xml. Although the site isn't too busy, it does have some lengthy processes...the app that gets the highest usage (ordering and reporting forms) take about 3-6 seconds to save. I've just experienced some instability issues. Here's the error log: 06/15 15:22:26 metrics Web threads (busy/total): 1/27 Sessions: 1 Total Memory=284836 Free=99563 06/15 15:24:26 metrics Web threads (busy/total): 3/28 Sessions: 1 Total Memory=284836 Free=214988 06/15 15:26:26 metrics Web threads (busy/total): 17/71 Sessions: 1 Total Memory=284836 Free=182188 06/15 15:28:26 metrics Web threads (busy/total): 17/71 Sessions: 1 Total Memory=284836 Free=182092 You can see how it just jumped to the max simultaenous threads within 2 minutes. The machine was completely unresponsive; we had to do a hard reboot. So here's my question (finally). I have one database that folks do everything on -- logging in, ordering, reporting, etc. Even after 6 years of use, the database remains relatively small (1.3GB). The number of users on the login table is under 3000. So naturally, I use only one datasource connection, with these parameters: Select Method: Direct Limit Connections - YES Restrict connections to - 6 Maintain Connections - YES Max Pooled Statements - 1000 Timeout (min) - 20 Interval (min) - 7 Login Timeout (sec) - 30 My questions: 1) Are these settings OK for a quad-processor database server (2GB RAM)? 2) Should I create multiple datasources for the same database? Should I have one for logging in and access-based, another for one of the big apps, and another for the second big app, and so on and so forth? Any other advice would be welcome. Thank you. - Sung ~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:209661 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Slight Differences in New CFMX Install
I'm just about to set up another server, and I'm seeing slight differences in the two installs. In my old install, I have these being referenced: C:\CFusionMX\runtime\..\lib\cfmx-j2ee.jar C:\CFusionMX\runtime\..\lib\jce1_2_1.jar C:\CFusionMX\runtime\..\lib\local_policy.jar There are others...but the list of the JVM path is much larger in the older install than the newer. Is it because it's a clean install? The older one went from CF5 to CFMX 6 to CFMX 6 Updater to CFMX 6.1. The new one went straight from CFMX 6 to CFMX 6.1. Normally I don't look at this sort of stuff, but the reason why I started peeking around is because the JVM Arguments on the old box does not work on the new box (it gives an error 1 and fails to initiate the service). Here's the argument: -server -Dsun.io.useCanonCaches=false -Xbootclasspath/a:{application.home}/../lib/webchartsJava2D.jar -XX:MaxPermSize=128m -XX:PermSize=64m -XX:+UseConcMarkSweepGC -XX:NewSize=48m -Djavax.xml.parsers.SAXParserFactory=com.macromedia.crimson.jaxp.SAXParserFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=com.macromedia.crimson.jaxp.DocumentBuilderFactoryImpl The one on the new box is the default one: -server -Dsun.io.useCanonCaches=false -Xbootclasspath/a:{application.home}/../lib/webchartsJava2D.jar -XX:MaxPermSize=128m -XX:+UseParallelGC I'm noticing other subtle differences...like on the page where you enter the argument, the new box's page is only two lines high. On the old box, it's 6 high. Any thoughts? ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:196932 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Mail Not Working
Another issue with my new box: I've verified connectivity with the SMTP server through the CF Administrator. But mail isn't being sent out. No errors, no nothing. The .cfmail files get written to the default directory c:\cfusionmx\mail\spool, but they never leave... Any thoughts? ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197026 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Installing CFMX 6.1 via Terminal Services
Has anyone installed CFMX 6.1 via Terminal Services successfully? ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:196774 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Installing CFMX 6.1 via Terminal Services
Thanks, folks. I had issues with remote/TS installs with CF 5.0, actually. Just wanted to make sure... Yes, I've done this many times in both server and Jrun configurations, and not experience any problems. I was logged in with administrator privileges, so ensure you have the same. Gavin -Original Message- From: Sung Woo [mailto:[EMAIL PROTECTED] Sent: 28 February 2005 14:21 To: CF-Talk Subject: Installing CFMX 6.1 via Terminal Services Has anyone installed CFMX 6.1 via Terminal Services successfully? ~| Find out how CFTicket can increase your company's customer support efficiency by 100% http://www.houseoffusion.com/banners/view.cfm?bannerid=49 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:196783 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: inetinfo.exe Memory Leak After 6.1 Updater
FYI, after many tests, we have isolated the problem as a memory leak in jrun.dll. I've replaced the current jrun.dll with the one in JRun 4 Updater 4 (build 84683), and it has brought down the memory usage, which, mind you, was going over 250MB easy a day, to a measly 19MB. It's a workaround, though; they'll be sending me a properly-patched connector soon. But for those suffering from this issue right now (and it is a burden), you might want to give this a shot. ~| Sams Teach Yourself Regular Expressions in 10 Minutes by Ben Forta http://www.houseoffusion.com/banners/view.cfm?bannerid=40 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:183307 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: inetinfo.exe Memory Leak After 6.1 Updater
One thing I forgot to mention -- it only happens if you use SSL. We use 128-bit SSL encryption for all our stuff. So that might be the distinction... I didn't extract it from the updater -- the Macromedia rep sent it to me. He says it isn't the final solution, so once I have the real thing, I'll update you guys on it. ~| Protect your mail server with built in anti-virus protection. It's not only good for you, it's good for everybody. http://www.houseoffusion.com/banners/view.cfm?bannerid=39 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:183311 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: inetinfo.exe Memory Leak After 6.1 Updater
Still happening. I called Macromedia (we just got their bronze support), so I'll let you all know if they can resolve this. I just uninstalled the connectors and reinstalled them (and left jrunsvc.exe alone). I'll let you know what happens tomorrow... - Sung Is re-running the connectors necessary or can I just replace the jrunsvc. exe? ~| Purchase from House of Fusion, a Macromedia Authorized Affiliate and support the CF community. http://www.houseoffusion.com/banners/view.cfm?bannerid=36 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:182703 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: inetinfo.exe Memory Leak After 6.1 Updater
To remove and reinstall the connectors, would you run the two batch files in the \bin directory (Remove_ALL_connectors.bat, IIS_connector.bat)? I've never done this before, so I'm just curious...thanks for all your help! Hi Alex, It's standalone, using IIS 5.0. Exactly which file did you copy from a fresh install? jrunsvc.exe itself is not having any issues (steady at 36K, 2 threads), but I guess it is related? Hmm not sure about standalone. We have Jrun with cfmx deployed as a j2ee application, our problem started after we applied Jrun Updater 4. Since the standalone has Jrun built in I bet it also applied the latest Jrun patches at the same time you did the updater. Our inetinfo would slowly climb, one time it got up to 1.2 gigs! Then Boom it would crash.. Once I put the fresh file in place IIS runs at a steady 30megs. I would copy the jrunsvc.exe file from a clean install. Remove the Cfmx to IIS connector and recreate it. Good Luck - Alex ~| Purchase from House of Fusion, a Macromedia Authorized Affiliate and support the CF community. http://www.houseoffusion.com/banners/view.cfm?bannerid=38 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:182594 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: inetinfo.exe Memory Leak After 6.1 Updater
Alex, By fresh install, do you mean pre-6.1 Updater? I see 2 versions of jrunsvc.exe on my machine (doing Properties on the file): File version 4.0.0.0, 57,344 bytes File version 4.0.3.10455, 61,440 bytes The one that's running (in the c:\cfusionmx\runtime\bin dir) is the latter. Are you saying that reverting to the older one did the trick for you? ~| Sams Teach Yourself Regular Expressions in 10 Minutes by Ben Forta http://www.houseoffusion.com/banners/view.cfm?bannerid=40 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:182628 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: inetinfo.exe Memory Leak After 6.1 Updater
I just uninstalled the connectors and reinstalled them (and left jrunsvc.exe alone). I'll let you know what happens tomorrow... - Sung Is re-running the connectors necessary or can I just replace the jrunsvc.exe? ~| Purchase from House of Fusion, a Macromedia Authorized Affiliate and support the CF community. http://www.houseoffusion.com/banners/view.cfm?bannerid=34 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:182677 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
inetinfo.exe Memory Leak After 6.1 Updater
I'm still having a rather nasty issue after installing the 6.1 Updater (and the 3 recommended hotfixes -- hf55681_61, hf56991.611, navserver_611) on my W2K box (SP4, 2GB of RAM). What's happening is that there's a slow but steady memory leak in inetinfo.exe. inetinfo hardly ever used to go over 50MB, but now it regularly goes over 200MB. My JVM settings look like this -- could this be the issue? -server -Dsun.io.useCanonCaches=false -Xbootclasspath/a:{application.home}/../lib/webchartsJava2D.jar -XX:MaxPermSize=128m -XX:PermSize=64m -XX:+UseConcMarkSweepGC -XX:NewSize=48m -Djavax.xml.parsers.SAXParserFactory=com.macromedia.crimson.jaxp.SAXParserFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=com.macromedia.crimson.jaxp.DocumentBuilderFactoryImpl I thought JVM only affected jrun.exe...no? Any help at all would be much appreciated. ~| Sams Teach Yourself Regular Expressions in 10 Minutes by Ben Forta http://www.houseoffusion.com/banners/view.cfm?bannerid=40 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:182485 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: inetinfo.exe Memory Leak After 6.1 Updater
Hi Alex, It's standalone, using IIS 5.0. Exactly which file did you copy from a fresh install? jrunsvc.exe itself is not having any issues (steady at 36K, 2 threads), but I guess it is related? ~| This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. http://www.houseoffusion.com/banners/view.cfm?bannerid=11 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:182527 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Post-6.1MX Updater - CFINSERT = String index out of range
I just went through a little hell backing out of the CFMX 6.1 Updater (the one released on August 2004).After doing this update, many (if not all) CFINSERT operations resulted in this error: String index out of range: -2 I'm using the JDBC SQL drivers (MS SQL 7.0). BTW, I explicitly followed Macromedia's instructions in uninstalling the updater, and it didn't work -- CFMX service wouldn't start again.I ended up reinstalling 6.1MX Upgrade (RedSky), and that did the trick.But oy vey, what a way to start a miserable Monday! - Sung [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
jrun.xml/JVM Tuning in CFMX
What do you folks think about this article? http://www.robisen.com/index.cfm?mode=entryentry=FD4BE2FC-55DC-F2B1-FED0717CC1C7E0AF Seems to be working OK for me, so far.jrun.exe's thread count went from 54 to 65 and memory usage jumped from 80MB to 200MB, but the site does seem to be running faster. - Sung [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Users Online, Take 2
So I've finally gotten around to rewriting the who is online? portion of my site, and it turns out that I didn't have to do much rewriting at all.The script below was using CFID to keep track, which, as many people pointed out, was not a good idea.I keep a session variable (session.UserID) in my application, so this was a much better idea.So the script is as follows: !--- keep a list of online users --- cfif Session.LoggedIn cfif NOT IsDefined(Application.UsersInfo) cflock timeout=15 scope=APPLICATION type=EXCLUSIVE cfif NOT IsDefined(Application.UsersInfo) cfset Application.UsersInfo = StructNew() /cfif /cflock /cfif cfif NOT StructKeyExists(Application.UsersInfo, session.UserID) cflock scope=APPLICATION type=EXCLUSIVE timeout=15 cfif NOT StructKeyExists(Application.UsersInfo, session.UserID) cfset StructInsert(Application.UsersInfo, session.UserID, now()) /cfif /cflock /cfif cfloop collection=#Application.UsersInfo# item=itmUser cflock name=session_lock_#itmUser# timeout=15 cfif StructKeyExists(Application.UsersInfo, itmUser) cfif DateDiff(n, Application.UsersInfo[itmUser], Now()) GT 15 cfset StructDelete(Application.UsersInfo, itmUser) /cfif /cfif /cflock /cfloop /cfif My question involves the StructDelete portion of the code, namely: cfloop collection=#Application.UsersInfo# item=itmUser cflock name=session_lock_#itmUser# timeout=15 cfif StructKeyExists(Application.UsersInfo, itmUser) cfif DateDiff(n, Application.UsersInfo[itmUser], Now()) GT 15 cfset StructDelete(Application.UsersInfo, itmUser) /cfif /cfif /cflock /cfloop I have this script in the application.cfm file, which means this loop is activated with every single click.Sure, it isn't that much load, but I don't see any reason why this should kick in so often.So I cut it out of the application.cfm file and created a separate file, called cleanup_online_users.cfm.Then I used Scheduled Tasks to schedule this snippet of code -- and it doesn't work.It's very strange -- if I run it manually, it doesn't work, either.However, if I manually run it AND THEN force a refresh, it works.I was wondering if CF was somehow caching this page, so I changed the page to this: !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN html head titlecleanup/title META HTTP-EQUIV=Pragma CONTENT=no-cache META HTTP-EQUIV=Expires CONTENT=-1 /head body !--- cleanup_online_users.cfm --- cfloop collection=#Application.UsersInfo# item=itmUser cflock name=session_lock_#itmUser# timeout=15 cfif StructKeyExists(Application.UsersInfo, itmUser) cfif DateDiff(n, Application.UsersInfo[itmUser], Now()) GT 15 cfset StructDelete(Application.UsersInfo, itmUser) /cfif /cfif /cflock /cfloop /body /html Still doesn't work.The only way to make it work is if I load it manually and then refresh.What am I doing wrong? I'm running Win2K CFMX 6.1. - Sung [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Users Online, Take 2
Hi Dov, I think the CFLOOP via COLLECTION is similar to what you propose with the LIST -- at least that's what the documentation tells me. The number of threads on my machine usually hovers around 54.Just now, it jumped to 96!I took the CFLOOP out, and now it's back to 54.So I still need to find a solution to this problem. I like what you propose -- I'll give it a shot -- but meanwhile, I'm still confused about why my scheduled tasks to clean up the dead users doesn't work... - Sung I'm not sure how java internals of cfloop/collection work, but chances are it's dangerous to loop through a collection you are deleting/adding items to/from. Perhaps change to CFLOOP list=StructKeyList(application.UsersInof)and then retreive the item if it's there... Also, How do you keep the person online... it seems like the following undesirable timeline is possible: 8:00 User logs in, gets a now() timestamp 8:14 User hits a page.Since still has a timestamp, nothing happens 8:16 User is deleted, since the 8:00 stamp expired, even though user hit 2 minutes ago... You should update a user's timestamp on each hit... I'd write it like this: when user logs in, Cfset Session.Stamp=structnew() Cfset session.stamp.last=now() Cfset application.UsersInfo[session.userid]=session.stamp Then whenever a user hits the page, you have Cfif session.isloggedin and isdefined(Session.stamp.last) Cfset session.stamp.last=now() /cfif Since session.stamp is a reference to a struct, which also exists in application.usersinfo, it doesnt get destroyed with the session [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Users Online, Take 2
Just found my stupid mistake -- the file was pulling in application.cfm, so it must've been pulling up the login page instead.Makes sense why it would run when I ran it manually (since I was already logged in).I moved the file to a non-application.cfm-enabled directory, and now it works just fine... [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Count Online Users Conundrum
I've been tied up with stuff lately, but I finally have a bit of a breather, so I'm ready to tackle this thing once and for all.I just want to get some feedback on what I plan on doing: On my site, UserID (an integer) is a session variable.I'll create a structure that has the following three columns: useridlast last will be a datetime stamp that'll update every time they send a request to the site, i.e., click on something.Then every 15 minutes, I'll run a cleanup script that'll knock out any last values that are in excess of 15 minutes from Now().Does this sound like a viable option?Thanks! - Sung [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Java+JSP 10 times faster than CF? And Other Ruminations.
I just came back from a weeklong training session with java/JSP programming and have a couple of things to discuss. FYI, I've been a long-time CF programmer (first version of 3.1).I've dabbled in UNIX shell scripts, perl, ASP, VB, and Pascal (yes, Pascal!) in my past incarnations, and hands down, I have found CF to be the best for me.It is the most intuitive programming language I've encountered so far.That opinion hasn't changed after my intro to java/JSP. Anyway, here goes: 1) Since CFMX 6.1 is now running off of jrun, is it reasonable to see it as a huge and complicated set of JSP custom tags?JSP seems to behave very similarly to CF -- you write the code in a .jsp file and the compiler creates a .class file after the initial run.There are a ton of custom tags for JSP, and after sifting through them, it seems like CF can be seen as a large custom tag. 2) To quote Hal Helms: http://www.halhelms.com/index.cfm?fuseaction=writings.displayOnScreenwriting=TenReasonsCompaniesLikeJava.htm Java is a high-performance language. Java with JSP (similar to ColdFusion for presentation) is over 10 times faster than using ColdFusion. A single JSP server can handle 10 times the number of simultaneous requests that ColdFusion can. I found this very disturbing, but I can see how this could be true.In JSP, the equivalent of a CFOUTPUT of a form field is as follows: %= ${form_field} % or % request.getParameter(form_field) % Either one will do the job, but when this code is run through the runtime compiler, you see two very different code -- the former is some form of an evaluate function (which, like Evaluate() in CF, will no doubt take more processing power) while the latter goes through unchanged, i.e., will be faster.So this got me thinking about CF in general.All the minute, annoying things that java requires help it run faster.In CF, you can simply declare a variable without regard for type -- cfset var = name and cfset var = 0 are both valid statements.But let's think about that for a second.Since java requires that variables be typed, is it not plausible to think that CF code will run less lean, since there will now have to be extra code to sort this out?This is pure conjecture on my part; I have no idea.Since CF can be seen as a custom tag that generates code, who really knows how efficient this code-generating is?Is that why Hal says JSP is 10 times faster than CF? 3) I'm considering running MachII (after this class, I'm fairly convinced of the whole MVC thingy).Will running something like MachII make my applications faster?Or is it just a way to organize big projects so they don't get out of hand? 4) Is there a way to optimize CF code so it runs the fastest?I know, for example, that virtual Query function is dog-slow, and that structures are lightning fast.Are there any other tips?Should I be utilizing more CFSCRIPT throughout my code? No matter how much performance increase java/JSP offers, I find the whole language ridiculous.Then again, I find most computer languages ridiculous.Why shouldn't the parser be smart enough to know that a variable is a certain type without having me specify it?Why do I need to worry about case sensitivity?You may just call me lazy, but when I saw CF, I saw a language that was intelligent.It took the silliness out of programming and let me do what I really wanted to do. - Sung [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Count Online Users Conundrum
Excellent.So there are two instructions on the structure update: 1) update my time 2) kill any connections older than 15 minutes I'd still need to run a cleanup script every fifteen minutes, just to clean up any last connections, right?Otherwise, there will always be 1 person logged on, I'd think. BTW, on a completely different subject, is it possible to trigger AOL's AIM via hyperlink, something like aim:user1000 to bring up the... Never mind.Found it on google! aim:goim?screenname=SCREENNAME yes but you can also run the update to knock out past connections when you update the current time, that is what I do. [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Java+JSP 10 times faster than CF? And Other Ruminations.
I think the br issue is because of the URL...I've seen this exhibited on some other messages. Here's my message again, without the link...should be easier to read. --- I just came back from a weeklong training session with java/JSP programming and have a couple of things to discuss. FYI, I've been a long-time CF programmer (first version of 3.1).I've dabbled in UNIX shell scripts, perl, ASP, VB, and Pascal (yes, Pascal!) in my past incarnations, and hands down, I have found CF to be the best for me.It is the most intuitive programming language I've encountered so far.That opinion hasn't changed after my intro to java/JSP. Anyway, here goes: 1) Since CFMX 6.1 is now running off of jrun, is it reasonable to see it as a huge and complicated set of JSP custom tags?JSP seems to behave very similarly to CF -- you write the code in a .jsp file and the compiler creates a .class file after the initial run.There are a ton of custom tags for JSP, and after sifting through them, it seems like CF can be seen as a large custom tag. 2) To quote Hal Helms: Java is a high-performance language. Java with JSP (similar to ColdFusion for presentation) is over 10 times faster than using ColdFusion. A single JSP server can handle 10 times the number of simultaneous requests that ColdFusion can. I found this very disturbing, but I can see how this could be true. In JSP, the equivalent of a CFOUTPUT of a form field is as follows: %= ${form_field} % or % request.getParameter(form_field) % Either one will do the job, but when this code is run through the runtime compiler, you see two very different code -- the former is some form of an evaluate function (which, like Evaluate() in CF, will no doubt take more processing power) while the latter goes through unchanged, i.e., will be faster.So this got me thinking about CF in general.All the minute, annoying things that java requires help it run faster.In CF, you can simply declare a variable without regard for type -- cfset var = nameand cfset var = 0are both valid statements.But let's think about that for a second.Since java requires that variables be typed, is it not plausible to think that CF code will run less lean, since there will now have to be extra code to sort this out?This is pure conjecture on my part; I have no idea. Since CF can be seen as a custom tag that generates code, who really knows how efficient this code-generating is?Is that why Hal says JSP is 10 times faster than CF? 3) I'm considering running MachII (after this class, I'm fairly convinced of the whole MVC thingy).Will running something like MachII make my applications faster?Or is it just a way to organize big projects so they don't get out of hand? 4) Is there a way to optimize CF code so it runs the fastest?I know, for example, that virtual Query function is dog-slow, and that structures are lightning fast.Are there any other tips?Should I be utilizing more CFSCRIPT throughout my code? No matter how much performance increase java/JSP offers, I find the whole language ridiculous.Then again, I find most computer languages ridiculous.Why shouldn't the parser be smart enough to know that a variable is a certain type without having me specify it?Why do I need to worry about case sensitivity?You may just call me lazy, but when I saw CF, I saw a language that was intelligent.It took the silliness out of programming and let me do what I really wanted to do. [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Count Online Users Conundrum
What are you actually trying to do?I'm assuming you're attempting to see who's currently using the system, and basically discounting anyone who's not been active in the last 15 minutes? If this is the case let me know and I'll knock a little code out for you!Can't do it today, stupid firewall issues...Eugh. Hi Tim, That's exactly what I'm trying to do.All I want is a counter that counts down from 15 minutes for every person who logs on without using the database, i.e., using session/application variables.Seems like this script can almost do it...it just needs one more bit of cleaning up.But maybe not?I hadn't considered the fact that CFID isn't really unique.Not that it matters since this is nothing but eye candy (i.e., I slug the value up there on the right corner of the site). But you know, I also wanted to know WHO exactly was online, i.e., has made a request in the last 15 minutes.The login system carries the ID (a number, session.UserID) of every user, so I can easily do this by keeping another application structure. I can actually do this -- I'm just being lazy.But if you want to take a whack at it, it'll be very appreciated.I've been coding for a while, but I haven't really dealt with many login issues at all, as it was coded by somebody else and it's been working just fine all this time.And, as you can see, I wasn't astute enough with the current script I was using to see how awful it was, so any expert advice would be fantastic. - Sung [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Count Online Users Conundrum
Hi Ryan, Here are my results: 4 12 14 10 11 15 8 5 3 8 10 12 10 7 4 13 14 14 14 13 15 7 6 3 12 0 6 11 5 6 11 4 4 12 6 11 4 4 11 6 14 13 15 10 9 9 3 15 9 6 2 12 9 10 13 8 11 5 3 13 3 3 3 2 2 4 2 2 5 2 2 12 3 2 4 9 2 15 4 7 2 9 6 10 1 5 14 1 1 13 8 11 14 14 1 1 15 6 9 4 8 5 7 1 1 1 1 6 1 12 0 0 0 0 0 0 8 0 5 0 0 7 0 0 4 10 6 8 4 14 9 10 3 13 15 7 12 9 8 7 5 7 15 8 10 11 8 13 13 This is as of 9AM today.Seems like the values are good right now (all unde 15 minutes).Thanks for the script -- I'll run it again later at night and post the results. - Sung I think you have a situation where the sessions are staying active long after the user logs off.Run that loop and let me know what you get back.Your problem will probably be obvious then. Ryan Duckworth Macromedia ColdFusion Certified Professional Uhlig Communications 10983 Granada Lane Overland Park, KS 66211 (913) 754-4272 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Count Online Users Conundrum
Ray, is there any way I could streamline the locks?This is in the application.cfm page, so it's being hit quite often, and I'd like it to be as efficient as possible.Thanks! - Sung Not that it helps much, but that is some pretty awful code. The locks are too much and the code generating cfid seems quite wack. [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Count Online Users Conundrum
Hi Tim, Thanks so much for the breakdown.I got the code from easycfm.com and didn't think to really analyze it.I'll make the changes you suggested and let you know if I run into anything.Thanks again! - Sung Sung, What happens is that at the end of the day (I run an intranet where there are about 200 peak users), around midnight, it still shows 80 or so users online!What do you think could be causing this? Does the code you run to report on the user sessions run the code you posted first?By this I mean does it run through and clear any old sessions out before reporting how many are still there? What the code you posted does (badly) is record a timestamp of when a new session is started, for each user session (although the CFID is by no means guaranteed to be unique), and then deleting any over 15 minutes.So every session will remain there for 15 minutes (or until the first page call that runs the skimmer code after the 15 minute limit has expired) and then be deleted.If the user is still using the system, they will simply be added back in the next time they access a page, with a new 15 minute count. Therefore, at the end of the day, if there are no page calls made between 5:30 and midnight, all sessions will still be held in memory, because the skimmer hasn't been run.I would say that's why you're still leeing lots of users on line at midnight. I'd like to ask what you're actually attempting to do with this code. If it's to see how many people are using the system within the last 15 minutes and how long they've been using the application for, then this code certainly doesn't do that, or at most does a very bad job of it. What you'll need to do is add *two* timestamps to each user -- one for when they first accessed the system, and one when they last requested a page.Your 15 minute check should then use the difference between these values to determine whether the user has been inactive for 15 minutes. As for Ray's comment of but that is some pretty awful code I completely agree.I've attempted to go through it somewhat below code-block by code-block -- not changing any of the existing functionality, but just cleaning it up -- with explanations of what I've done and why. cflock timeout=15 scope=APPLICATION type=EXCLUSIVE cfif NOT isDefined(Application.UsersInfo) cfset Application.UsersInfo = StructNew() /cfif /cflock Since CFMX (I'm assuming you're using MX?), you don't have to worry about locking shared scopes for reading only, so there's no need to lock everything as you have done.Put another cfif around so you only lock when absolutely necessary.Keeping the original cfif in there just makes sure that should two requests happen fairly closely, that only one initialises the new structure. cfif NOT isDefined(Application.UsersInfo) cflock timeout=15 scope=APPLICATION type=EXCLUSIVE cfif NOT isDefined(Application.UsersInfo) cfset Application.UsersInfo = StructNew() /cfif /cflock /cfif cflock name=#CreateUUID()# timeout=15 type=EXCLUSIVE cfset user_cfid = Evaluate(CFID) cfset user_time = Now() /cflock This is a totally pointless lock.You're not writing to (or even reading from) any shared scope.Additionally, you're using a randomly generated lock ID so even if you were writing to a shared scope there's nothing to stop two requests happening simultaneously, because they are guaranteed to have different lock IDs! Secondly, I'm not sure why you're using an evaluate() call where you are, it doesn't do anything except add another function call.The user's CFID is available anywhere and won't change so there's no need to reference that as anything different.The user_time variable is only actually used once, so why not just replace it with the now() call?In effect, you don't need this section at all. cflock scope=APPLICATION type=EXCLUSIVE timeout=15 cfif NOT StructKeyExists(Application.UsersInfo, user_cfid) cfset temp = StructInsert(Application.UsersInfo, user_cfid, user_time) /cfif /cflock Again, as in the first section, there's no need to lock for a read, so add another cfif statement around the outside of this section. Replace the user_cfid with CFID and the user_time with now() as described above.Finally, you don't have to assign the result of the structinsert() call -- it just means another variable clogging up memory during the page request: cfif NOT StructKeyExists(Application.UsersInfo, CFID) cflock scope=APPLICATION type=EXCLUSIVE timeout=15 cfif NOT StructKeyExists(Application.UsersInfo, CFID) cfset StructInsert(Application.UsersInfo, CFID, now()) /cfif /cflock /cfif cflock scope=APPLICATION type=EXCLUSIVE timeout=15 cfloop collection=#Application.UsersInfo# item=itmUser cfif Evaluate(DateDiff(n, StructFind(Application.UsersInfo, itmUser), Now())) GT 15 cfset StructDelete(Application.UsersInfo, itmUser) /cfif /cfloop /cflock Now this is the sort of block where everyone's opinions will diverge somewhat.Some will say lock outside the loop, other will say only lock when
Re: Count Online Users Conundrum
My apologies -- this will give you their total session time.To work out if they've been inactive for more than 15 minutes you'll have to do a time check comparing the last active timestamp and the current time using now(). Hi Tim, Thanks.I ran your script and sure enough, right now, it says there are 99 users when it probably should be something like 20.I'm not sure if I'm understanding you completely -- I'm thinking that I need to add to the following snippet that already exists: cfloop collection=#Application.UsersInfo# item=itmUser cflock name=session-lock-#itmUser# timeout=15 cfif structkeyexists(Application.UsersInfo, itmUser) cfif DateDiff(n, Application.UsersInfo[itmUser], Now()) GT 15 cfset StructDelete(Application.UsersInfo, itmUser) /cfif /cfif /cflock /cfloop So I'd include another CFIF statement: cfif DateDiff(n, LAST ACTIVE, Now()) GT 15 cfset StructDelete(Application.UsersInfo, itmUser) /cfif The problem is figuring out this last active number -- am I missing something simple? Again, thanks for all your help... - Sung [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Count Online Users Conundrum
I got this little snippet from easycfm.com to keep track of online users, but lately, it hasn't been working quite right.What happens is that at the end of the day (I run an intranet where there are about 200 peak users), around midnight, it still shows 80 or so users online!What do you think could be causing this? !--- http://tutorial12.easycfm.com/ - show session users - BEGIN --- cflock timeout=15 scope=APPLICATION type=EXCLUSIVE cfif NOT isDefined(Application.UsersInfo) cfset Application.UsersInfo = StructNew() /cfif /cflock cflock name=#CreateUUID()# timeout=15 type=EXCLUSIVE cfset user_cfid = Evaluate(CFID) cfset user_time = Now() /cflock cflock scope=APPLICATION type=EXCLUSIVE timeout=15 cfif NOT StructKeyExists(Application.UsersInfo, user_cfid) cfset temp = StructInsert(Application.UsersInfo, user_cfid, user_time) /cfif /cflock cflock scope=APPLICATION type=EXCLUSIVE timeout=15 cfloop collection=#Application.UsersInfo# item=itmUser cfif Evaluate(DateDiff(n, StructFind(Application.UsersInfo, itmUser), Now())) GT 15 cfset StructDelete(Application.UsersInfo, itmUser) /cfif /cfloop /cflock !--- http://tutorial12.easycfm.com/ - show session users - END --- - !--- http://tutorial12.easycfm.com/ - show session users --- cflock scope=APPLICATION type=EXCLUSIVE timeout=10 cfoutput Total Active Sessions : #StructCount(Application.UsersInfo)# /cfoutput /cflock [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
CFMX/jrun.exe Thread Count
This might be a ridiculous question to ask, but I thought I would anyway. On my box (hosting 3 sites), the thread count for jrun.exe hovers around 53. I've seen it go as high as 56 and as low as 48. When the box crashes, which happens not that often, the thread count goes to 80 and beyond. So here's my question: what are some strategies in keeping the thread count down? I know this might be a tough question to answer (if not impossible), since you have no idea what kind of apps I'm running, but it's more of a general question...thanks... [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Web Services and CFMX6.1 -- Why doesn't it work?
I'm at my wit's end here, folks.I don't know why my idiotic hello world web service just isn't working.Here's a path to my madness: helloworld.cfc cfcomponent cffunction name=getMessage access=remote returntype=string output=false cfargument name=name type=string required=yes cfreturn Hello arguments.name , web service is working. /cffunction /cfcomponent --- hello_component.cfm (to check if the CFC is working) cfinvoke component=helloworld method=getMessage returnvariable=aString cfinvokeargument name=name value=Bozo/ /cfinvoke cfoutput#aString#/cfoutput Output: Hello Bozo, web service is working. --- helloworld.cfc?wsdl Output: works fine, displays the XML --- hello.cfm cfinvoke webservice=http://localhost/ws/helloworld.cfc?wsdl method=getMessage returnvariable=aString cfinvokeargument name=name value=Bozo/ /cfinvoke cfoutput#aString#/cfoutput Output: Could not generate stub objects for web service invocation. Name: http://localhost/ws/helloworld.cfc?wsdl. WSDL: http://localhost/ws/helloworld.cfc?wsdl. org.xml.sax.SAXException: Fatal Error: URI=null Line=1: Missing whitespace before SYSTEM literal URI. -- What the hell am I doing wrong?Any ideas? [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: Web Services and CFMX6.1 -- Why doesn't it work?
Hi Michael, Thanks, but that doesn't seem to work, either. I don't understand why I'd use port 8500...I'm not using the built-in webserver, I'm using IIS? [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: Web Services and CFMX6.1 -- Why doesn't it work?
Yup, I can browse it just fine.If I use the ?wsdl after the helloworld.cfc, I generate the XML file fine, too. And even stranger...I'm doing this because we're evaluating Vignette, which has nice interactivity with web services.This web service is recognized and fully usable by Vignette!So it only fails here, on CFMX.Very, very strange... [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: MX: Scheduler firing off too often
Scott, I have the same issue with my CFMX 6.1 box on W2K.It only happens sometimes, maybe once every month.I haven't found a cure for it, only a workaround.I have a lengthy scheduled task that runs at 3am once a week, but if it runs during business hours, it can create some problems.So I wrapped a simple CFIF statement around it -- i.e., cfif this script is running before 2:55am or after 3:15am, then don't run it. Yeah, it's stupid, but it's a workaround.Since you have yours firing off pretty often, I'm not sure if this will work for you...but maybe other people will have some ideas. [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: Web Services and CFMX6.1 -- Why doesn't it work?
I don't get a blank page, but I do get a redirect to the component browser, which looks something like this: ws.helloworld Component helloworld hierarchy: WEB-INF.cftags.component ws.helloworld path: E:\webroot\ws\helloworld.cfc properties: methods: getMessage * - private method getMessage remote string getMessage ( required string name ) Output: supressed Parameters: name: string, required, name [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: Web Services and CFMX6.1 -- Why doesn't it work?
Thanks for all your help, guys.I tried the snippet on my production server, and sure enough, it runs just fine.So I guess it is my server config.What could it be, though?I don't understand what inside CF could cause this, when all evidence points to the file being exactly where it should be.The Mappings on both production and test are identical... [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: Web Services and CFMX6.1 -- Why doesn't it work?
Ryan -- yes, I do have that vdir on both production and test... [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
CFMX Hanging Solutions?
I've been scouring the forums here and on Macromedia regarding CFMX hangs.I have a page on my site that takes more than 1000ms to return (runs about 10 big queries).If I get on this page and hit F5 over and over again, I can see jrun.exe memory size and thread count expand.The memory size never is the issue -- it's the thread count.When it goes over 100, it seems like the machine hangs.Eventually, it does respond, but while it's hanging, the site is cooked. So here's my question: Is it possible for me to wrap a CFLOCK around that entire page, to isolate it to a single thread?It isn't an often-visited page, so I could probably get away with this. Eventually, I'll need break up the query/page...looks like I'll have to do this.Oh, and by the way, whenever I use JDBC drivers, this issue is far worse...so I use ODBC Socket for everything.My setup is Win2K on a dual pentium 5 with 2GB RAM and SQL 7.0.Thanks! [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]