Manager asks “but what if we only have crap developers”, default response is “well, in that situation, standard best practice is to fail”
January 9, 2010
Everything is dead these days
November 12, 2008
Developing ColdFusion Extensions in Java
1. You cannot reload CFX developed in Java without server restart. Empirically proven and confirmed by other CF developers (as some ppl claim, even by Adobe tech support)
ref: http://dreamweaverforum.info/advanced-techniques/78901-how-reload-java-cfx-without-restarting-coldfusion.html
2. Article to read to get into this subject fast and "good enough"
http://www.intermedia.net/support/coldfusion/cf5docs/Developing_ColdFusion_Applications/CFXTags4.html
3. Example
import com.allaire.cfx.*;
public class test implements CustomTag {
public void processRequest(Request request, Response response) throws Exception {
// TODO Auto-generated method stub
String strName = request.getAttribute( "NAME" );
response.write( "Cao, " + strName );
Query qr = request.getQuery();
if ( qr == null )
{
throw new Exception(
"Missing QUERY parameter. " +
"You must pass a QUERY parameter in "+
"order for this tag to work correctly." ) ;
}
int i=1,j=1;
while(i<=qr.getRowCount()){ j=1; response.write(" "); while(j<=qr.getColumns().length){ response.write(qr.getData(i, j)+" | "); j++; } i++; } } }
Voila! Now you know everything :)))
January 15, 2007
Tomcat 5.x - MySQL Bug: "Cannot get a connection, pool exhausted"
A web application has to explicetely close ResultSet's, Statement's, and Connection's. Failure of a web application to close these resources can result in them never being available again for reuse, a db connection pool "leak". This can eventually result in your web application db connections failing if there are no more available connections.
There is a solution to this problem. The Jakarta-Commons DBCP can be configured to track and recover these abandoned dB connections. Not only can it recover them, but also generate a stack trace for the code which opened these resources and never closed them.
To configure a DBCP DataSource so that abandoned dB connections are removed and recycled add the following attribute to the Resource configuration for your DBCP DataSource:
removeAbandoned="true"
false. Use the removeAbandonedTimeout attribute to set the number of seconds a dB connection has been idle before it is considered abandoned.
removeAbandonedTimeout="60
The logAbandoned attribute can be set to true if you want DBCP to log a stack trace of the code which abandoned the dB connection resources.
logAbandoned="true"The default is
false. Abstract taken from
http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto
Additional information:
http://dev.mysql.com/doc/refman/4.1/en/connector-j-usagenotes-j2ee.html#connector-j-usagenotes-tomcat