Java Tools for FB4John Paul Ashenfelter Leveraging Java Tools for Fusebox 4 Development John Paul Ashenfelter CTO/Transitionpoint
Java Tools for FB4John Paul Ashenfelter Why Use Java with CFMX? CFMX is Java… it’s just hidden and easier to use plus the JVM can’t tell the difference Many companies already use Java Java does some things CFMX can’t low-level libraries (e.g. network, graphics) though the gap is getting smaller
Java Tools for FB4John Paul Ashenfelter Where Can I Use Java Design Development Testing Deployment Maintenance Anywhere in the software lifecycle
Java Tools for FB4John Paul Ashenfelter Open Source and Java Lots of open source Java code lots of developers lots of choices lots of dead projects Many licenses GPL Apache
Java Tools for FB4John Paul Ashenfelter Ant
Java Tools for FB4John Paul Ashenfelter What’s Ant? a general-purpose build tool like make, but “better” XML-based tasks many defined extensible with Java can create complex dependencies
Java Tools for FB4John Paul Ashenfelter Getting Started with Ant targets order tasks can depend on other targets basic tasks echo mkdir, copy, delete properties ${x} can load from external file can pass on command line
Java Tools for FB4John Paul Ashenfelter A Little More nat filesets SCC integration
Java Tools for FB4John Paul Ashenfelter Walkthrough of Ant File
Java Tools for FB4John Paul Ashenfelter Fusebox 4 Ant Techniques filter expansion xml rewriting generating parsed files
Java Tools for FB4John Paul Ashenfelter More on Ant con.com/story/?storyid=43787 Java Development with Ant by Hatcher and Loughran (Manning, 2003)
Java Tools for FB4John Paul Ashenfelter Logging
Java Tools for FB4John Paul Ashenfelter Why not use CFMX? CFLOG default log directory only limited configuration flexibility CFFILE MODE=APPEND performance concerns can only write to filesystem log4cf (from DRK4) only filesystem and capability
Java Tools for FB4John Paul Ashenfelter Jakarta Commons reusable Java components TM many subprojects very well-tested and vetted
Java Tools for FB4John Paul Ashenfelter Jakarta Commons-Logging (JCL) generic wrapper for loggers can choose several loggers log4j is the standard CFMX uses log4j for CFTRACE though an older version (1.1.3) which requires a little bit of workaround
Java Tools for FB4John Paul Ashenfelter Logging with JCL need a LogFactory use to get a Log (some.name.here) multiple levels INFO, DEBUG, FATAL, WARN, etc can use appenders for output files: files, rolling files, external rolling files , JDBC, JMS, LF5 (Swing), socket custom! maybe jabber? other ideas?
Java Tools for FB4John Paul Ashenfelter A logging plugin for Fusebox 4 configurator = CreateObject("java", "org.apache.log4j.xml.DOMConfigurato r"); configurator.configure(configFile); application.logFactory = CreateObject("java", "org.apache.commons.logging.LogFact ory"); configLog=application.logFactory.getLo g("#application.applicationname#"); if (configLog.isDebugEnabled()) configLog.debug("configuring log for #application.applicationname#"); log=“"#application.applicationname#.#myF usebox.originalCircuit#.#myFusebox.origin alFuseaction#“”; thisLog=application.logFactory.getLog(log) ; if (thisLog.isInfoEnabled()) thisLog.info(msg);
Java Tools for FB4John Paul Ashenfelter XML Configuration
Java Tools for FB4John Paul Ashenfelter Logging Output :37:18,187 INFO - fb4demo.controller.default [controller.default -- preFuseaction] :37:18,187 INFO - fb4demo.controller.default [dev.wireframe -- preFuseaction] :37:18,203 INFO - fb4demo.controller.default [layout.dev -- preFuseaction] :37:18,203 INFO - fb4demo.controller.default [layout.basic -- preFuseaction]
Java Tools for FB4John Paul Ashenfelter More on Log4J con.com/coldfusion/article.cfm?id=700
Java Tools for FB4John Paul Ashenfelter Other Java OSS Thoughts Lucene James POI Eclipse Subversion xUnit Jabber JasperReports
Java Tools for FB4John Paul Ashenfelter For more information… jakarta.apache.org sourceforge.net FullAsAGoog blog aggregator
Java Tools for FB4John Paul Ashenfelter Thanks!