<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEEESH45fyp7ImA9WhRWFU8.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432</id><updated>2012-01-02T11:50:09.027-06:00</updated><category term="cfml gateways" /><category term="clustering" /><category term="xml" /><category term="solr" /><category term="google app engine" /><category term="Verity" /><category term="javascript" /><category term="XSL" /><category term="java" /><category term="coldfusion" /><category term="refactoring" /><category term="hudson" /><category term="links" /><category term="Objects" /><category term="browsers" /><category term="event gateways" /><category term="batch" /><category term="jrun" /><category term="about-me" /><category term="jobs" /><category term="wddx" /><category term="CFUG" /><category term="forms" /><category term="windows" /><category term="coldspring" /><category term="cfproperty inspector" /><category term="Internet Explorer" /><category term="components" /><category term="cfc" /><category term="model-glue" /><category term="query of queries" /><category term="mxunit" /><category term="hardware" /><title>Code Fusion - All purpose Symbolic Instruction Code</title><subtitle type="html">Discussions on ColdFusion, Flex, Web Architecture and other technologies that power the web, our minds, and our lives.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://codefusionllc.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/CodeFusion-AllPurposeSymbolicInstructionCode" /><feedburner:info uri="codefusion-allpurposesymbolicinstructioncode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkUDR3w7fip7ImA9WhRSEEo.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-8345574319651835007</id><published>2011-11-01T21:52:00.000-05:00</published><updated>2011-11-11T23:04:36.206-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-11T23:04:36.206-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><category scheme="http://www.blogger.com/atom/ns#" term="CFUG" /><category scheme="http://www.blogger.com/atom/ns#" term="google app engine" /><title>Deploying Cold Fusion to Google's App Engine and Big Table</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;At the ColdFusion User Group in Minneapolis Wednesday November 3, 2011 I will be presenting on the topic of "Deploying Cold Fusion to Google's App Engine and Big Table".&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Learn the basics of app engine, the deployment methodologies required to develop a Cold Fusion application with Open Bluedragon on gae, and the nuances of working with 'big table', Googles distributed object data store.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Visit &lt;a href="http://colderfusion.com/"&gt;ColderFusion.com&lt;/a&gt; to RSVP!&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Looking forward to seeing you there&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Update:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Those interested in the files (pdf, some code minus the jar files) can download it &lt;a href="http://dl.dropbox.com/u/3858686/CFUG-OpenBDGAE.zip" target="_blank"&gt;here&lt;/a&gt;. &amp;nbsp;If you're looking for the magic bits for the working OpenBD version, see the pdf link for the enlist project link.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-8345574319651835007?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lMB3CZ6aGHHp4fpp-RpoyvQ07eo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lMB3CZ6aGHHp4fpp-RpoyvQ07eo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lMB3CZ6aGHHp4fpp-RpoyvQ07eo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lMB3CZ6aGHHp4fpp-RpoyvQ07eo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/bI4Rr9y4tqo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/8345574319651835007/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=8345574319651835007" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8345574319651835007?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8345574319651835007?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/bI4Rr9y4tqo/deploying-cold-fusion-to-googles-app.html" title="Deploying Cold Fusion to Google's App Engine and Big Table" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>5</thr:total><georss:featurename>23 Empire Dr, St Paul, MN 55103, USA</georss:featurename><georss:point>44.962399 -93.099518</georss:point><georss:box>44.9609945 -93.1019855 44.9638035 -93.09705050000001</georss:box><feedburner:origLink>http://codefusionllc.blogspot.com/2011/11/deploying-cold-fusion-to-googles-app.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ECRng-eyp7ImA9Wx9WGU0.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-8722729717424388856</id><published>2011-01-24T16:54:00.000-06:00</published><updated>2011-01-24T16:54:27.653-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-24T16:54:27.653-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="jobs" /><title>(Minneapolis) Application Architect / Developer Job - Jobs2Web, Inc.</title><content type="html">&lt;div style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;strong&gt;Location:&lt;/strong&gt;&amp;nbsp;Minnetonka, MN, USA&lt;/div&gt;&lt;div style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;Are you looking for an opportunity to maximize your career with one of Minnesota’s fastest growing internet startups? Jobs2Web is one of the few venture backed Minnesota startups which made the Inc 500 list in 2009 and 2010 for our fast growth, and now we’re looking to expand our team of passionate professionals in the human capital software marketplace.&lt;/div&gt;&lt;div style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;Jobs2Web helps employers maximize their interactive recruiting strategy using our recruitment marketing platform. The Jobs2Web platform helps major employers to attract, capture, and communicate with quality talent all while measuring recruiting effectiveness using our patent-pending solutions which dramatically reduce dependency on expensive and less effective sourcing mediums.&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px;"&gt;Working within our company will put you close to our award winning technology that combines the best of recruiting and marketing solutions including Search Engine Marketing (SEO), SEM (Pay-Per-Click), Social Networks and Social Media Marketing, and Email Marketing.&lt;/span&gt;&lt;div style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;The&amp;nbsp;&lt;b&gt;Architect / Developer&lt;/b&gt;&amp;nbsp;enhances and maintains the Jobs2Web Recruitment Marketing Platform and associated applications.&lt;/div&gt;&lt;div style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;b&gt;Specifically, the Application Architect / Developer role will have impact through these responsibilities:&lt;/b&gt;&lt;/div&gt;&lt;ul style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px;"&gt;&lt;li&gt;Create and maintain the application architecture for the Jobs2Web platform, provide application architecture guidance to the development group and other Jobs2Web departments, and engage in hands-on development as required.&lt;/li&gt;
&lt;li&gt;Participate in a dynamic team environment, including frequent team feedback, collaboration, training and code review.&lt;/li&gt;
&lt;li&gt;Professionally communicate with our internal clients, including Client Services and Sales.&lt;/li&gt;
&lt;li&gt;Demonstrate ability to manage multiple priorities in a fast-paced environment.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;b&gt;Desired Qualifications and Competencies:&lt;/b&gt;&lt;/div&gt;&lt;ul style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px;"&gt;&lt;li&gt;Bachelors Degree or equivalent work experience, with at least 7 years of application development experience required.&lt;/li&gt;
&lt;li&gt;Experience with Java required. Desired areas of expertise include&lt;ul&gt;&lt;li&gt;Java EE 6&lt;/li&gt;
&lt;li&gt;Apache Solr/Lucene&lt;/li&gt;
&lt;li&gt;JMS&lt;/li&gt;
&lt;li&gt;JPA/Hibernate&lt;/li&gt;
&lt;li&gt;GlassFish 3&lt;/li&gt;
&lt;li&gt;JSF&lt;/li&gt;
&lt;li&gt;EJB 3.1&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Experience in creation and maintenance of enterprise-grade application architecture, including SOA and messaging systems is required&lt;/li&gt;
&lt;li&gt;Experience in SQL language and database technologies required.&lt;/li&gt;
&lt;li&gt;Application of OO principles and use of best practices in web development required, with a strong background in application architecture.&lt;/li&gt;
&lt;li&gt;ColdFusion MX experience desired, with experience using application frameworks and ColdFusion components.&lt;/li&gt;
&lt;li&gt;Exposure to Adobe Flex 3 applications desired.&lt;/li&gt;
&lt;li&gt;Competent in use of HTML, XML, CSS, and AJAX technologies.&lt;/li&gt;
&lt;li&gt;Experience working in an Agile Scrum environment is desired.&lt;/li&gt;
&lt;li&gt;Proficient in use of source control, defect management, and release management tools.&lt;/li&gt;
&lt;li&gt;Consistently demonstrates strong team and individual performance.&lt;/li&gt;
&lt;li&gt;Effective written and oral communication skills as well as strong interpersonal skills are essential.&lt;/li&gt;
&lt;li&gt;Builds positive and effective relationships with individuals both internal and external to the organization.&lt;/li&gt;
&lt;li&gt;Staffing/HR industry knowledge a plus.&lt;/li&gt;
&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px;"&gt;Jobs2Web is an entrepreneurial employer that challenges and rewards all employees to succeed at every opportunity! Your talents are fully utilized as we are building this rapidly growing business. Our competitive market driven package includes a total rewards package of competitive pay, bonus, health insurance coverage, 401(k), career development, a very exciting marketplace and a really great work culture.&lt;/span&gt;&lt;div class="job-location" style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;br /&gt;
&lt;strong&gt;Nearest Major Market:&lt;/strong&gt;&amp;nbsp;Minneapolis&lt;br /&gt;
&lt;strong&gt;Job Segments:&lt;/strong&gt;&amp;nbsp;Architecture, ColdFusion, Computer, Creative, Database, Developer, Engineer, Engineering, Information Technology, Interactive Marketing, Java, Legal, Marketing, Patent, Product Development, Programmer, QA, Quality, Quality Assurance, Research, SEO, SQL, Technology, Web Design, XML&lt;/div&gt;&lt;div class="job-location" style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="job-location" style="font-family: Verdana, Arial, Helvetica, sans-serif, Myuen, Gulim; font-size: 11px; line-height: 15px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 5px;"&gt;&lt;a href="http://careers.jobs2web.com/job/Minnetonka-Application-Architect-Developer-MN-55343/1095982/?utm_source=codefusionllc"&gt;Apply Now&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-8722729717424388856?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RFlmwEFoH0-5ny-4Gj0QDhxqb8A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RFlmwEFoH0-5ny-4Gj0QDhxqb8A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RFlmwEFoH0-5ny-4Gj0QDhxqb8A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RFlmwEFoH0-5ny-4Gj0QDhxqb8A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/xRewpgBTLFQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/8722729717424388856/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=8722729717424388856" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8722729717424388856?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8722729717424388856?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/xRewpgBTLFQ/minneapolis-application-architect.html" title="(Minneapolis) Application Architect / Developer Job - Jobs2Web, Inc." /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2011/01/minneapolis-application-architect.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcMRn8-eip7ImA9Wx5bF0s.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-3873674631750779078</id><published>2010-11-03T00:44:00.000-05:00</published><updated>2010-11-03T00:44:47.152-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-03T00:44:47.152-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><category scheme="http://www.blogger.com/atom/ns#" term="mxunit" /><category scheme="http://www.blogger.com/atom/ns#" term="hudson" /><title>mxUnit Testing with Hudson CI Server @ CFUG Minneapolis</title><content type="html">I'll be speaking Wednesday Nov 3, 2010 @ the &lt;a href="http://www.colderfusion.com/"&gt;ColdFusion User Group&lt;/a&gt; in St. Paul/Minneapolis on mxUnit Testing with Hudson Continuous Integration Server.&lt;br /&gt;
&lt;br /&gt;
I'll be talking about basic Assertions, as well as going into some advanced mocking topics with the new 2.x release of the mxUnit Framework.&lt;br /&gt;
The second part of the evening we'll look at the Hudson Server to help execute our Unit Tests and provide jUnit reports that show execution trends as well as some special surprises.&lt;br /&gt;
&lt;br /&gt;
See you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-3873674631750779078?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xjwJDx0kwC2fEXP9TbbOSj4ykgA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xjwJDx0kwC2fEXP9TbbOSj4ykgA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xjwJDx0kwC2fEXP9TbbOSj4ykgA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xjwJDx0kwC2fEXP9TbbOSj4ykgA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/0CYAkCId27g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/3873674631750779078/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=3873674631750779078" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/3873674631750779078?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/3873674631750779078?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/0CYAkCId27g/mxunit-testing-with-hudson-ci-server.html" title="mxUnit Testing with Hudson CI Server @ CFUG Minneapolis" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2010/11/mxunit-testing-with-hudson-ci-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYGQHk_cCp7ImA9Wx5RF0o.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-5690036377202211859</id><published>2010-08-25T16:33:00.001-05:00</published><updated>2010-08-25T16:35:21.748-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-25T16:35:21.748-05:00</app:edited><title>JDBC Connection String and Unicode</title><content type="html">&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;So we have a SQL Server 2005 JDBC Driver in production using the type 4 driver from Microsoft (Not the DataDirect Driver that ships with ColdFusion 8 Enterprise) and have it configured using the JDBC URL to specify the Host and some other parameters. &amp;nbsp;You do this by going into your ColdFusion Administrator and under Data &amp;amp; Services - Data Sources - Entering in a new connection specifying a Name and choosing 'Other' as the Driver:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Format:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;jdbc:sqlserver://xxx.xxx.xxx.xxxx;&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: 'Segoe UI', Verdana, Arial; line-height: 18px;"&gt;&lt;i&gt;databaseName=MyDatabase;&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;applicationName=Myclient;responseBuffering=adaptive;loginTimeout=5;lockTimeout=60000&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_zaIJDxUOIzI/THWIUF35jhI/AAAAAAAAAFU/JKjwRppce9A/s1600/ScreenShot057.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="403" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/THWIUF35jhI/AAAAAAAAAFU/JKjwRppce9A/s640/ScreenShot057.png" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Now the problem was that we had some other 'Connection String' information under the 'Advanced Settings' for this connection that we had configured to turn Unicode characters OFF for this dsn (thus using asii characters and varchar vs. unicode and nvarchar). &amp;nbsp;This was for performance as we had varchar fields on columns, and when we use cfquery param, and cf_sql_varchar, the dsn connection setting drives whether you are sending 'varchar(8000)' (non-unicode) or a' nvarchar(4000)' parameter to the database.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Database Indexes: If your index has to convert this nvarchar type to a varchar type of the column, then it will more than likely skip using the index all together and you loose the benefit of having an index on that column in your database (i.e. an email address field).&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;With Profiling ON we were able to watch the requests come through by manipulating the jdbc URL connection string as &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms378857(SQL.90).aspx"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;follows&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;sendStringParametersAsUnicode=false will send the cfquery param data through as a &lt;b&gt;varchar(8000)&lt;/b&gt; field&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;sendStringParametersAsUnicode&amp;nbsp;=true (which is the &lt;/span&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;default&lt;/span&gt;&lt;/u&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;) will send it through as a &lt;b&gt;nvarchar(4000)&lt;/b&gt; field&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;What we noticed is that those types of queries with:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;&amp;lt;&lt;span class="Apple-style-span" style="color: red;"&gt;cfqueryparam&lt;/span&gt; &lt;span class="Apple-style-span" style="color: #0b5394;"&gt;value&lt;/span&gt;="#arguments.email#" &lt;span class="Apple-style-span" style="color: #0b5394;"&gt;cfsqltype&lt;/span&gt;="cf_sql_varchar"&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;&lt;/i&gt; would not use the index.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Another thing we noticed was that we had &lt;i&gt;specified&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;sendStringParametersAsUnicode=false&lt;/i&gt; in the 'Connection String' area under Advanced Settings. &amp;nbsp;This was &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;NOT being taken into effect&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;when sending parameterized queries to the db. &amp;nbsp;We HAD to move this string into the JDBC URL portion in order for it to work. &amp;nbsp;Bug in ColdFusion?? We're not sure, but we hope this helps someone out there.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;This is how the dsn should look:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_zaIJDxUOIzI/THWLmlzCNnI/AAAAAAAAAFk/775mGxsIV8k/s1600/ScreenShot061.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" src="http://4.bp.blogspot.com/_zaIJDxUOIzI/THWLmlzCNnI/AAAAAAAAAFk/775mGxsIV8k/s640/ScreenShot061.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-5690036377202211859?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aPVXNOQdyXzKfa_8_klAoBmupm0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aPVXNOQdyXzKfa_8_klAoBmupm0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aPVXNOQdyXzKfa_8_klAoBmupm0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aPVXNOQdyXzKfa_8_klAoBmupm0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/2f49-DumvLU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/5690036377202211859/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=5690036377202211859" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5690036377202211859?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5690036377202211859?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/2f49-DumvLU/jdbc-connection-string-and-unicode.html" title="JDBC Connection String and Unicode" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_zaIJDxUOIzI/THWIUF35jhI/AAAAAAAAAFU/JKjwRppce9A/s72-c/ScreenShot057.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2010/08/jdbc-connection-string-and-unicode.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMGRHczfCp7ImA9WxBVFUQ.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-7223814782891256132</id><published>2010-02-19T10:47:00.004-06:00</published><updated>2010-02-19T10:53:45.984-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-19T10:53:45.984-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="model-glue" /><category scheme="http://www.blogger.com/atom/ns#" term="mxunit" /><title>Executing Remote MXUnit Tests in CFBuilder/CFEclipse</title><content type="html">I had some interesting problems the other week while working on some &lt;a href="http://www.model-glue.com/"&gt;Model-Glue&lt;/a&gt; (gesture) RemoteService requests.  I had posted to the Model-Glue Google Group about a few &lt;a href="http://groups.google.com/group/model-glue/browse_thread/thread/788964fee8232d3b?pli=1"&gt;things&lt;/a&gt; I ran into when using the AbstractRemotingService.cfc, and getting url variables to work properly through the &lt;a href="http://groups.google.com/group/model-glue/browse_thread/thread/84fb5302952ca087/16c0584120de087c?lnk=gst&amp;amp;q=penny#16c0584120de087c"&gt;service&lt;/a&gt;, which they have addressed (Thank you!).&lt;br /&gt;
&lt;br /&gt;
Obviously you need to read the wiki &lt;a href="http://docs.model-glue.com/wiki/HowTos/HowToUseRemoting#Remoting"&gt;documentation&lt;/a&gt; first.&lt;br /&gt;
&lt;br /&gt;
When you Create your RemoteService.cfc that exists at the root of your application, which will be your remoting front controller if you will, you need to tell it where your main model-glue template file is located. (download the zip file from www.model-glue.com and find the modelglueapplicationtemplate directory for the sample RemotingService.cfc)&lt;br /&gt;
&lt;br /&gt;
Once you have a simple working version up / running by calling /RemotingService.cfc?method=executeEvent&amp;amp;event=my.event&amp;amp;format=json and pass in the data you need to, then you need a good way to test it right? If you use &lt;a href="http://www.mxunit.org/"&gt;MXUnit&lt;/a&gt; then you have more than likely configured your IDE to execute these tests.&lt;br /&gt;
&lt;br /&gt;
Figure 1.0&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_zaIJDxUOIzI/S36-baoJfMI/AAAAAAAAAFM/V5fq1KGzgVE/s1600-h/ScreenShot038.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_zaIJDxUOIzI/S36-baoJfMI/AAAAAAAAAFM/V5fq1KGzgVE/s320/ScreenShot038.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
ISSUE:&lt;br /&gt;
The thing I ran into was that I was using model-glue's event security where I could specify certain events to be 'authentication' needed etc. My remoting service was calling an event that required prior authorization (i.e. session.isLoggedin() or some other means).  Now, when I executed a test for this event in mxUnit through the Eclipse plugin for mxunit, it would Fail the test and kept telling me I was unauthorized to execute this event etc, and return the source code for my login screen instead (which would be correct if I was not logged in).  However in my unit Test, I was making sure to Call my AuthorizationFacade and log me in in the 'setup' method and verified that 'isLoggedIn()' returned true.&lt;br /&gt;
&lt;br /&gt;
RESOLUTION:&lt;br /&gt;
So in my unit test I am doing a cfhttp 'post' (or now that they supported url variables better in the service a 'get' ) request to the RemoteService.cfc passing in my data. HOWEVER, I needed to also pass in the following through my cfhttp call:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfhttpparam ....="formfield" name="CFIDE" value="#cookie.CFIDE#"&amp;gt; &lt;br /&gt;
&amp;lt;cfhttpparam ....="formfield" name="CFTOKEN" value="#cookie.CFTOKEN#"&amp;gt; &lt;br /&gt;
&amp;lt;cfhttpparam ....="formfield" name="JSESSIONID" value="#session.sessionid#"&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Once this was in place, the calls worked as expected, and returned proper json data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-7223814782891256132?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zsXJEXL6WIBZSq3mGPFsnk4XNjA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zsXJEXL6WIBZSq3mGPFsnk4XNjA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zsXJEXL6WIBZSq3mGPFsnk4XNjA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zsXJEXL6WIBZSq3mGPFsnk4XNjA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/B6pJDM9W7As" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/7223814782891256132/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=7223814782891256132" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/7223814782891256132?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/7223814782891256132?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/B6pJDM9W7As/executing-remote-mxunit-tests-in.html" title="Executing Remote MXUnit Tests in CFBuilder/CFEclipse" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_zaIJDxUOIzI/S36-baoJfMI/AAAAAAAAAFM/V5fq1KGzgVE/s72-c/ScreenShot038.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2010/02/executing-remote-mxunit-tests-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMNQ3c8fSp7ImA9WxBTE0Q.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-5940371223746534795</id><published>2009-11-20T09:41:00.005-06:00</published><updated>2009-12-09T16:24:52.975-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-09T16:24:52.975-06:00</app:edited><title>Mpls CFUG - Active MQ, Cluster Messaging, Topics and</title><content type="html">I'll be presenting at the Minneapolis / St. Paul ColdFusion User Group again in December on Active MQ, Topics, Queues and Cluster Messaging for those interested.  I'd love to pack the room before Christmas and show off all the exciting things Apache's Active MQ messaging can do with your ColdFusion applications, especially as it relates to cluster messaging.  I'll be doing live demo's and code shows, as well as discussing how our company has used these techniques to help us address things like cache updating/invalidating, message driven events, maintenance queues, workflow etc.&lt;br /&gt;
&lt;br /&gt;
Visit the &lt;a href="http://www.colderfusion.com"&gt;ColderFusion.com&lt;/a&gt; website for more details but hope to see you out December 2, 1009, in the mean time, check out my &lt;a href="http://codefusionllc.blogspot.com/2009/11/new-bluetooth-keyboard.html"&gt;new keyboard&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
Updated: Download the code samples and &lt;a href="http://www.megaupload.com/?d=QV5501F6" target="_blank"&gt;presentation (+code)&lt;/a&gt; (requires activemq and blazeds deployed on tomcat as separate downloads) OR download the Entire thing with blazeDS, tomcat, amq and code in one large 200MB &lt;a href="http://www.megaupload.com/?d=ZU77B0TG" target="_blank"&gt;file&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-5940371223746534795?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-iVuikByjS0Wlvapiku5QiIh4GE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-iVuikByjS0Wlvapiku5QiIh4GE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-iVuikByjS0Wlvapiku5QiIh4GE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-iVuikByjS0Wlvapiku5QiIh4GE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/cTEHzlkEo2g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/5940371223746534795/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=5940371223746534795" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5940371223746534795?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5940371223746534795?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/cTEHzlkEo2g/mpls-cfug-active-mq-cluster-messaging.html" title="Mpls CFUG - Active MQ, Cluster Messaging, Topics and" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/11/mpls-cfug-active-mq-cluster-messaging.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EEQHg4fip7ImA9WxNbF04.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-4208972732741592037</id><published>2009-11-20T09:29:00.006-06:00</published><updated>2009-11-20T09:40:01.636-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-20T09:40:01.636-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hardware" /><title>New Bluetooth Keyboard</title><content type="html">I broke down and got one of the new &lt;a href="http://www.amazon.com/b/?node=384082011&amp;tag=jamieanddanie-20"&gt;Logitech deNovo Edge Keyboards&lt;/a&gt; from Amazon this week.  I'm just breaking it in but so far it's very sweet.  The sleek lazer cut plexiglass and brushed aluminum frame is very 'edgy', and at 11 mm thick, you'll feel like your on a laptop even when docked.  It's even got a little touchpad so you can throw your mouse out if you want (but I wouldn't recommend that as the left/right click buttons are not large enough to make it full time usable).  It will be perfect for the home theater remote keyboard when you have a PC hooked up to your system.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ecx.images-amazon.com/images/I/41V9aDwUJBL._SL500_AA280_.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 280px; height: 280px;" src="http://ecx.images-amazon.com/images/I/41V9aDwUJBL._SL500_AA280_.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As you could tell from a prior &lt;a href="http://codefusionllc.blogspot.com/2009/05/coldfusion-developers-keybard.html"&gt;post&lt;/a&gt;, I was wearing the 'C' letter out on my last keyboard, and having a quieter keyboard with cool functionality was something I was definitely interested in.&lt;br /&gt;If you're out shopping this &lt;a href="http://www.amazon.com/b/?node=384082011&amp;tag=jamieanddanie-20"&gt;Black Friday&lt;/a&gt;, maybe you'll get lucky and see one on sale, but &lt;a href="http://www.amazon.com/b/?node=384082011&amp;tag=jamieanddanie-20"&gt;Amazon &lt;/a&gt;has it for a discount right now.&lt;br /&gt;Happy coding - !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-4208972732741592037?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g-X-uK_c-X74Iswg1IWB5zmMQG4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g-X-uK_c-X74Iswg1IWB5zmMQG4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g-X-uK_c-X74Iswg1IWB5zmMQG4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g-X-uK_c-X74Iswg1IWB5zmMQG4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/9o0hvll0fV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/4208972732741592037/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=4208972732741592037" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4208972732741592037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4208972732741592037?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/9o0hvll0fV4/new-bluetooth-keyboard.html" title="New Bluetooth Keyboard" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/11/new-bluetooth-keyboard.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcEQng_fip7ImA9WxNQF0s.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-6210377591685862405</id><published>2009-09-23T23:12:00.005-05:00</published><updated>2009-09-23T23:20:03.646-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-23T23:20:03.646-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="model-glue" /><title>Model Glue - Variable CTRLINST is undefined</title><content type="html">I'm playing around with Model Glue 3 (gesture) and event-types and message handling etc, and I ran across a nasty little productivity stopper.&lt;br /&gt;&lt;br /&gt;I had defined an 'init' method which did nothing in my Model-Glue Controller for one of my controllers.  I was getting a very obscure 'Variable CTRLINST is undefined.' message as a result.&lt;br /&gt;&lt;br /&gt;&lt;div class="mycode"&gt;&amp;lt;cffunction name="init" output="false" access="public" returntype="void" hint=""&amp;gt;&lt;br /&gt;       &amp;lt;cfreturn     /&amp;gt;&lt;br /&gt;   &amp;lt;/cffunction&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Removing the 'init' method from the controller solved the problem, and the error message went away - leaving me to run my application once again.&lt;br /&gt;&lt;br /&gt;I had become so accustomed to putting an 'init' method regardless in all cfc's that If I had not had some prior controller code to look at - I would have been sitting on this error for a long time.&lt;br /&gt;&lt;br /&gt;Hope this helps someone out there - Maybe a more appropriate message here would help (framework guys).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-6210377591685862405?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/b9EcLNoLLRQ3YdjPobqKPxlO_A8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b9EcLNoLLRQ3YdjPobqKPxlO_A8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/b9EcLNoLLRQ3YdjPobqKPxlO_A8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b9EcLNoLLRQ3YdjPobqKPxlO_A8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/uZGRESv7Alc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/6210377591685862405/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=6210377591685862405" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/6210377591685862405?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/6210377591685862405?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/uZGRESv7Alc/model-glue-variable-ctrlinst-is.html" title="Model Glue - Variable CTRLINST is undefined" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>6</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/09/model-glue-variable-ctrlinst-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8CRXo-fip7ImA9WxNSEU8.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-8390304673209301929</id><published>2009-08-24T08:30:00.002-05:00</published><updated>2009-08-24T08:34:24.456-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-24T08:34:24.456-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cfproperty inspector" /><title>100+ Downloads for CFProperty Inspector ColdFusion Builder Extension</title><content type="html">I made it past the 100+ downloads barrier for the &lt;a href="http://labs.adobe.com/technologies/coldfusionbuilder/"&gt;ColdFusion Builder&lt;/a&gt; (pre-release) IDE with my &lt;a href="http://cfpropertyextension.riaforge.org/index.cfm"&gt;CFProperty Inspector&lt;/a&gt; Extension.  Thanks to all who've downloaded it and found it useful.  Not bad numbers (10% download to view ratio) considering the IDE is not going to be released for another month or more.&lt;br /&gt;&lt;br /&gt;Keep an eye open for more updates on the future as requests come in for the next version of the extension which allows you to write cfproperty tag meta data to existing components.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-8390304673209301929?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mKH9sUH1NuU3vHhedaJQ79kMT98/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mKH9sUH1NuU3vHhedaJQ79kMT98/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mKH9sUH1NuU3vHhedaJQ79kMT98/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mKH9sUH1NuU3vHhedaJQ79kMT98/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/YQ04rWqCW7s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/8390304673209301929/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=8390304673209301929" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8390304673209301929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8390304673209301929?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/YQ04rWqCW7s/100-downloads-for-cfproperty-inspector.html" title="100+ Downloads for CFProperty Inspector ColdFusion Builder Extension" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/08/100-downloads-for-cfproperty-inspector.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEBSHs_fip7ImA9WxJaFkg.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-1419437754096341668</id><published>2009-07-23T11:06:00.005-05:00</published><updated>2009-08-07T10:07:39.546-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-07T10:07:39.546-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CFUG" /><category scheme="http://www.blogger.com/atom/ns#" term="Verity" /><category scheme="http://www.blogger.com/atom/ns#" term="solr" /><title>Search Engine Death Match (Pt. 3) MPLS CFUG</title><content type="html">I'll be speaking to the Minneapolis/St. Paul ColdFusion User Group (CFUG) on Aug. 6, 2009 about the Solr Integration in ColdFusion 9 (Centaur Beta).  If you're in the area we'd love to see you, session starts at 6:30 - more information at &lt;a href="http://www.colderfusion.com"&gt;ColderFusion.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Preview:&lt;br /&gt;Search Engine Death Match: Solr (Luncene) vs. Verity&lt;br /&gt;&lt;br /&gt;Search is King. &lt;br /&gt;See how the 2 engines that ship with ColdFusion 9 stack up. &lt;br /&gt;Learn more about the newly integrated Solr (based on Java Lucene) engine and how it stacks up against Verity. &lt;br /&gt;Listen to real world stories about Solr's performance in a large scale Enterprise application. &lt;br /&gt;Preview the features of Solr in Centaur Beta and determine if you're company could benefit from a better, more scalable, more reliable search solution.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://colderfusion.com/presentations/penny/Solr_vs_Verity.pdf"&gt;Here is a preview of the session&lt;/a&gt; (pdf).&lt;br /&gt;&lt;br /&gt;Hope you see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-1419437754096341668?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eishgi7MC4MdR0Emmsc2vT4zjKI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eishgi7MC4MdR0Emmsc2vT4zjKI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eishgi7MC4MdR0Emmsc2vT4zjKI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eishgi7MC4MdR0Emmsc2vT4zjKI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/6OB4K-ypHRY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/1419437754096341668/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=1419437754096341668" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1419437754096341668?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1419437754096341668?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/6OB4K-ypHRY/search-engine-death-match-pt-3.html" title="Search Engine Death Match (Pt. 3) MPLS CFUG" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/07/search-engine-death-match-pt-3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIFQXg6eip7ImA9WxJUE0s.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-5661303007396495077</id><published>2009-07-09T09:44:00.008-05:00</published><updated>2009-07-11T21:58:30.612-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-11T21:58:30.612-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><category scheme="http://www.blogger.com/atom/ns#" term="cfproperty inspector" /><title>cf_PropertyInspector Bolt Extension Released!</title><content type="html">Version 1 of the cf_PropertyInspector ColdFusion Builder/Bolt Extension for your IDE has been released on &lt;a href="http://cfpropertyextension.riaforge.com"&gt;riaforge&lt;/a&gt; (pending).&lt;br /&gt;&lt;br /&gt;Features Include:&lt;br /&gt;For ease of Flex Integration, CFProperty tags are needed to have your methods available to ActionScript classes. Also complex webservices  need this metadata defined for them. With existing components already created, having to go back in and add in all these cfproperty tags for all your 'accessors' is a pain.  How about just right clicking -&gt; 'Inspect CFC' and be done with it??  Best used if components exist under your webroot.&lt;br /&gt;&lt;br /&gt;Features:&lt;br /&gt;- Searching subdirectories&lt;br /&gt;- Alpha sorting properties&lt;br /&gt;- Wverwriting/keeping existing properties&lt;br /&gt;- Lower case properties&lt;br /&gt;- Exclusion of Methods (i.e getInstance, getBinaryNull etc)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Version 2 of this application will include the following:&lt;br /&gt;- Backups of cfc's before modification&lt;br /&gt;- Fine Tune properties before wizard completes&lt;br /&gt;- Mapping support if your components are not located under your webroot.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;ColdFusion 8+&lt;br /&gt;ColdFusion Builder (Beta 2+) Build: 240677&lt;br /&gt;&lt;br /&gt;Download NOW Available on riaforge.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zaIJDxUOIzI/SlYC7udxRgI/AAAAAAAAAD0/PLAY86-RgGU/s1600-h/step1.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 343px;" src="http://4.bp.blogspot.com/_zaIJDxUOIzI/SlYC7udxRgI/AAAAAAAAAD0/PLAY86-RgGU/s400/step1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472031912216066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zaIJDxUOIzI/SlYDAjAMNzI/AAAAAAAAAD8/cGj6P-OE6FQ/s1600-h/step2.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 338px;" src="http://3.bp.blogspot.com/_zaIJDxUOIzI/SlYDAjAMNzI/AAAAAAAAAD8/cGj6P-OE6FQ/s400/step2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472114734708530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDE8AS1AI/AAAAAAAAAEE/3-wmzn5Sx0s/s1600-h/step3.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 338px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDE8AS1AI/AAAAAAAAAEE/3-wmzn5Sx0s/s400/step3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472190165505026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDI7IhktI/AAAAAAAAAEM/3w8ZyWKWLxg/s1600-h/step4.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 338px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDI7IhktI/AAAAAAAAAEM/3w8ZyWKWLxg/s400/step4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472258651067090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDNS3kkvI/AAAAAAAAAEU/yGqbHaaPZXo/s1600-h/step5.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 338px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDNS3kkvI/AAAAAAAAAEU/yGqbHaaPZXo/s400/step5.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472333741888242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zaIJDxUOIzI/SlYDQ_3sO7I/AAAAAAAAAEc/ati0wdTvSw0/s1600-h/step6.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 341px; height: 400px;" src="http://4.bp.blogspot.com/_zaIJDxUOIzI/SlYDQ_3sO7I/AAAAAAAAAEc/ati0wdTvSw0/s400/step6.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472397361593266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDUbZsEWI/AAAAAAAAAEk/XB0WG1A7VxE/s1600-h/step7.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 264px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDUbZsEWI/AAAAAAAAAEk/XB0WG1A7VxE/s400/step7.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472456291553634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDXqYysgI/AAAAAAAAAEs/VofXtY5x8o4/s1600-h/step8.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDXqYysgI/AAAAAAAAAEs/VofXtY5x8o4/s400/step8.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472511853933058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDbU8DcxI/AAAAAAAAAE0/A3FnxrWp9Yk/s1600-h/step9.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDbU8DcxI/AAAAAAAAAE0/A3FnxrWp9Yk/s400/step9.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472574815728402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDfCD9OxI/AAAAAAAAAE8/xIOiP1WUlxk/s1600-h/step10.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 264px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SlYDfCD9OxI/AAAAAAAAAE8/xIOiP1WUlxk/s400/step10.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472638468078354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Final Result!&lt;br/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDihIaaHI/AAAAAAAAAFE/IGbDhzEsZts/s1600-h/step11.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 150px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SlYDihIaaHI/AAAAAAAAAFE/IGbDhzEsZts/s400/step11.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5356472698347874418" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-5661303007396495077?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DYK6pdcWJENHEIO-P1vl8BSyiQk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DYK6pdcWJENHEIO-P1vl8BSyiQk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DYK6pdcWJENHEIO-P1vl8BSyiQk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DYK6pdcWJENHEIO-P1vl8BSyiQk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/dHCk2O9lDMc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/5661303007396495077/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=5661303007396495077" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5661303007396495077?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5661303007396495077?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/dHCk2O9lDMc/cfpropertyinspector-bolt-extension.html" title="cf_PropertyInspector Bolt Extension Released!" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_zaIJDxUOIzI/SlYC7udxRgI/AAAAAAAAAD0/PLAY86-RgGU/s72-c/step1.JPG" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/07/cfpropertyinspector-bolt-extension.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMMRXw5cCp7ImA9WxJRFUk.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-1235785788163884052</id><published>2009-05-17T00:41:00.007-05:00</published><updated>2009-05-17T01:08:04.228-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-17T01:08:04.228-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><title>Disable CFC Type Check Proof</title><content type="html">I usually question a lot of the things I hear, and this one I just had to set the record straight.  I can stand being corrected on things when I'm proven wrong so I'm hoping this will come across as simply a clarification and not any kind of 'I told you so'.&lt;br /&gt;&lt;br /&gt;But in the CFADmin in CF8 'Settings' there is a &lt;span style="font-weight:bold;"&gt;'Disable CFC type Check'&lt;/span&gt; option that allows you to turn ON the ability to ignore the argument 'types' of CFC's.  For example, if I have a component of type 'com.adobe.reactor' and I pass that to a method expecting a 'com.adobe.transfer', if this option is ON, then there would be NO type checking and the argument would be successfully passed in (I'd assuming something else would fail after that however).&lt;br /&gt;&lt;br /&gt;At &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.cfobjective.com/" target="_blank"&gt;cfObjective&lt;/a&gt; &lt;/span&gt;this year it was stated at a session that if this option was turned ON, a datatype like 'numeric' would be able to accept a 'string' value as there would be no type checking.  This is simply not true&lt;br /&gt;&lt;br /&gt;Proof:&lt;br /&gt;&lt;br /&gt;Visit your cfadmin and turn ON the 'Disable CFC Type Check' option and restart your server.&lt;br /&gt;Run the following script:&lt;br /&gt;&lt;br /&gt;&lt;div class="mycode"&gt;&lt;br /&gt;&amp;lt;cffunction name="test" output="false" access="public" returntype="any" hint=""&amp;gt;&lt;br /&gt;   &amp;lt;cfargument name="num" type="com.adobe.transfer" required="true"&amp;gt;&lt;br /&gt;   &amp;lt;cfreturn&amp;gt;&lt;br /&gt;&amp;lt;/cfreturn&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;cfset x="test('hi')"&amp;gt;&lt;br /&gt;&amp;lt;cfdump var="#x#"&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;You'll notice that this works just fine.  Notice that I'm passing a string of 'hi' into the test method that is expecting a 'com.adobe.transfer' object.  This works just fine with Disable CFC Type Checking ON as it simply treats the argument type as an 'ANY' type.&lt;br /&gt;&lt;br /&gt;The CFAdmin states:&lt;br /&gt;&lt;blockquote&gt;"When checked, UDF arguments of CFC type is not validated. The arguments are treated as type "ANY". Use this setting in a production environment only."&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;In this case 'com.adobe.transfer' is a UDF or user defined argument - I defined it in a directory of com/adobe/transfer.cfc.&lt;br /&gt;&lt;br /&gt;However, when I change my test method to accept a 'numeric' value instead of this UDF value, you will see it will throw an exception:&lt;br /&gt;&lt;br /&gt;&lt;div class="mycode"&gt;&lt;br /&gt;&amp;lt;cffunction name="test" output="false" access="public" returntype="any" hint=""&amp;gt;&lt;br /&gt;   &amp;lt;cfargument name="num" type="numeric" required="true"&amp;gt;&lt;br /&gt;   &amp;lt;cfreturn&amp;gt;&lt;br /&gt;&amp;lt;/cfreturn&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;"The NUM argument passed to the test function is not of type numeric." &lt;br /&gt;&lt;br /&gt;This proves that ONLY UDF arguments are changed to 'ANY' types when 'Disable CFC Type Check' is turned ON in cfadmin (oh no I've gone cross eyed)&lt;br /&gt;&lt;br /&gt;Imagine the security holes created by such an option if indeed the native datatypes were all treated as 'ANY'?  SQL Injection could occur if you had typed the cfargument as a 'numeric' datatype.  A malicious user could simply pass in a string value and bypass your initial line of attack - that being your cfargument data type.  This would not be a good situation (more information on security and cfml see Jason Dean's blog at &lt;a href="http://www.12Robots.com" target="_blank"&gt;12Robots.com&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The fact is, regardless of whether or not 'Disable CFC Type Check' is ON or OFF in your CFAdmin Setttings, native Datatypes still need to be adhered to, or an exception will be thrown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-1235785788163884052?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QNbbSrWJKjPwvmL0csRRG6y-zUY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QNbbSrWJKjPwvmL0csRRG6y-zUY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QNbbSrWJKjPwvmL0csRRG6y-zUY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QNbbSrWJKjPwvmL0csRRG6y-zUY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/-trStEzta3g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/1235785788163884052/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=1235785788163884052" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1235785788163884052?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1235785788163884052?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/-trStEzta3g/disable-cfc-type-check-proof.html" title="Disable CFC Type Check Proof" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/05/disable-cfc-type-check-proof.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUASXc5cCp7ImA9Wx5QGUo.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-4501521613789556699</id><published>2009-05-04T09:24:00.005-05:00</published><updated>2010-09-08T15:37:28.928-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-08T15:37:28.928-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><title>A ColdFusion Developers Keyboard</title><content type="html">&lt;a href="http://3.bp.blogspot.com/_zaIJDxUOIzI/Sf77hwtb4oI/AAAAAAAAADs/14OOqo2fPyQ/s1600-h/P1010036_sm.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5331975566282973826" src="http://3.bp.blogspot.com/_zaIJDxUOIzI/Sf77hwtb4oI/AAAAAAAAADs/14OOqo2fPyQ/s400/P1010036_sm.JPG" style="cursor: pointer; float: left; height: 300px; margin: 0pt 10px 10px 0pt; width: 400px;" /&gt;&lt;/a&gt;How can you tell what kind of developer you are by your Keyboard?? &lt;br /&gt;
&lt;br /&gt;
Check out my keyboard - Notice the 'C' key is all but worn right off - This has been from about 2 years of programming on this external keyboard - My previous laptop was the same way!&lt;br /&gt;
&lt;br /&gt;
Just for fun, shoot me a picture of your keyboard - whether ColdFusion Programmer, .Net Programmer or dba (would your 'S' key be worn down from all the SELECTS?).&lt;br /&gt;
&lt;br /&gt;
Enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-4501521613789556699?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MLHW3mj2pC-VbJEvAoYsgNeK6n4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MLHW3mj2pC-VbJEvAoYsgNeK6n4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MLHW3mj2pC-VbJEvAoYsgNeK6n4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MLHW3mj2pC-VbJEvAoYsgNeK6n4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/DEB66rLm7oc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/4501521613789556699/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=4501521613789556699" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4501521613789556699?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4501521613789556699?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/DEB66rLm7oc/coldfusion-developers-keybard.html" title="A ColdFusion Developers Keyboard" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_zaIJDxUOIzI/Sf77hwtb4oI/AAAAAAAAADs/14OOqo2fPyQ/s72-c/P1010036_sm.JPG" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/05/coldfusion-developers-keybard.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8MQHo9eyp7ImA9WxJSEk0.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-4000077725660462874</id><published>2009-05-01T13:50:00.006-05:00</published><updated>2009-05-01T14:41:21.463-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-01T14:41:21.463-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jrun" /><category scheme="http://www.blogger.com/atom/ns#" term="clustering" /><title>Clustered Application Needs Re-Loading? Here's How</title><content type="html">A question came up at last years &lt;a href="http://www.cfObjective.com"&gt;cfObjective&lt;/a&gt; in Mike Brunt's presentation about reloading your application/model/ColdSpring config in mid-flight on a clustered application (your application has 2 or more CF instances running it).  &lt;br /&gt;We've spent some time investigating on our own and mostly just ignoring the issue and going through the tedious process of RDP-ing into the server and MMC-ing into each Servers Services Panel and restarting each instance and verifying they come back online - staggering them throughout a period of time until all cluster members were synced.  This sucks.&lt;br /&gt;&lt;br /&gt;Some of the proposed solutions included:&lt;br /&gt;1.) Using ActiveMQ and a CF Gateway to Broadcast a 'reload' message and have the cluster members stagger their execution of it so they all don't reload at once (taking the app offline) via a thread sleep randomly based on the JVM instance etc.&lt;br /&gt;2.) Appreloading via the url X times until you think you've HIT them all &lt;br /&gt;3.) &lt;a href="http://bhlms.fltr.ucl.ac.be/cfdocs/htmldocs/help.html?content=webservmgmt_3.html" target="_blank"&gt;Use JRun's internal Web Server&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;I figured I'd give number 3 a try as I knew it would be the quickest and easiest to implement if it worked.  Turns out it does.&lt;br /&gt;&lt;br /&gt;What would happen is this: each CF instance has it's own dedicated IP and port that is running the application that can be accessed via a browser or over http (which can get automated but we'll get into that later).&lt;br /&gt;&lt;br /&gt;The IP:Port is normally used if you wanted to get to a particular cluster members cfide to do some configurations etc i.e. 127.0.0.1:8303/cfide/administrator/index.cfm.  However, if you browse to just 127.0.0.1:8303, you'll notice a nice directory structure that comes form your installation instance directory i.e. C:\JRun4\servers\{instancename}\cfusion.ear\cfusion.war if on Jrun.&lt;br /&gt;&lt;br /&gt;So what we'll do is modify your jrun-web.xml file by adding the virtual root path to your application AND make sure if you use a separte jvm.config for your instance, that the default jvm.config is the same (more on that later).&lt;br /&gt;&lt;br /&gt;Navigate to C:\JRun4\servers\{instancename}\cfusion.ear\cfusion.war\WEB-INF and open jrun-web.xml (if you don't have one you can try borrowing one from the default cfusion instance).&lt;br /&gt;&lt;br /&gt;Add the following to the file and save:&lt;br /&gt;&lt;div class="mycode"&gt;&amp;lt;virtual-mapping&amp;gt;&lt;br /&gt;    &amp;lt;resource-path&amp;gt;/&amp;lt;/resource-path&amp;gt;&lt;br /&gt;    &amp;lt;system-path&amp;gt;C:/webroot/approot&amp;lt;/system-path&amp;gt;&lt;br /&gt;&amp;lt;/virtual-mapping&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This will make JRUN's internal web server root be your application's root directory.&lt;br /&gt;&lt;br /&gt;Restart your CF instance.&lt;br /&gt;&lt;br /&gt;If you are like most shops and use some kind of query parameter to execute your application reload procedure i.e. ?reloadsite=true or the like, then you can execute it via the ip:port?param and reload each cluster member by changing your ip:port.&lt;br /&gt;&lt;br /&gt;Advanced Note: if you're like us and have a separate jvm configured for your CF instances (different than the stock jvm.config found in c:\JRun4\bin) then you'll need to make sure that &lt;br /&gt;a.) either the jvm.config is the same as your CF Instance jvmconfig file&lt;br /&gt;b.) make the jvm.config (default) the same as the CFInstance jvmconfig file, and then reconfigure that instance to use the 'jvm.config' file.  This is key, as the internal JRun webserver will use the default jvm.config on startup, so if you have separated these jvm's out, reloading your app from ip:port will do nothing, as you have only just setup 2 separate jvm's running your application, and the one has NO knowledge of the other.&lt;br /&gt;&lt;br /&gt;This is one method anyway - just make sure you have tested this thoroughly, especially if you have environment specific configurations that get loaded up depending on the url - as the IP address block may load up an unexpected set of configuration data from your application.&lt;br /&gt;&lt;br /&gt;We'll be trying this out over the next few weeks and likely integrate it into the application in some kind of threaded reload routine if some configuration needs to be done mid-flight.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-4000077725660462874?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zAKzqrEe-7lrsDhu0VRQyHTsNS0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zAKzqrEe-7lrsDhu0VRQyHTsNS0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zAKzqrEe-7lrsDhu0VRQyHTsNS0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zAKzqrEe-7lrsDhu0VRQyHTsNS0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/m0ol2u9mURY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/4000077725660462874/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=4000077725660462874" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4000077725660462874?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4000077725660462874?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/m0ol2u9mURY/clustered-application-needs-re-loading.html" title="Clustered Application Needs Re-Loading? Here's How" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>3</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/05/clustered-application-needs-re-loading.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EBQXs9eyp7ImA9WxJSEUU.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-8240861730055023064</id><published>2009-05-01T08:49:00.004-05:00</published><updated>2009-05-01T09:54:10.563-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-01T09:54:10.563-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Verity" /><category scheme="http://www.blogger.com/atom/ns#" term="solr" /><title>Search Engine Death Match - Solr Wins (Pt. 2)</title><content type="html">&lt;span style="font-weight:bold;"&gt;Abstraction:&lt;/span&gt;&lt;br /&gt;They key to the integration of &lt;a target="_blank" href="http://lucene.apache.org/solr/"&gt;Solr&lt;/a&gt; and removal of Verity in our model was to abstract the search functionality of the application.  The process started by creating a 'CollectionManager' which held the methods that were needed to interact with the Verity Server through cfsearch and consolodated all calls to 'cfsearch' through this service.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Coldspring:&lt;/span&gt;&lt;br /&gt;Once that was done and working fine - we were ready to dive into Solr and figure out the nuances of the product and ultimately create a 'SolrManager' which would replace the collectionManager.  Since we were using ColdSpring, this was a mere class path change in the coldspring.xml and that was it (I love &lt;a target="_blank" href="http://www.coldspringframework.org"&gt;ColdSpring&lt;/a&gt;).&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;&lt;br /&gt;Solr Data-Config:&lt;/span&gt;&lt;br /&gt;I'll get a more formalized presentation together about swapping out Verity in favor of Solr, but in general, our data was in a SQL Database vs. xml etc, so we used the 'data-config.xml' to basically come up with our main query that populates the index (each solr instance has a single instance or collection vs. verity where there is 1 verity and many collections) as well as delta and delete queries for updating and removal of the collection data through JDBC.  This &lt;a target="_blank" href="http://wiki.apache.org/solr/DataImportHandler?highlight=(data-config)#head-5ced7c797f1014ef6e8326a34c23f541ebbaadf1"&gt;data-config.xml&lt;/a&gt; file is simply an xml file in which you write sql to select your columns based on some criteria.  &lt;br /&gt;Note: it's best to have &lt;span style="font-style:italic;"&gt;created, lastmodified, id, active&lt;/span&gt; columns in your database table you wish to index, as this will help Solr in determining what data has changed, and what has been deleted. Hint: keep these queries simple and use a 'view' if your sql is complex at all, as it will hide the complexity, making the file easier to read, and abstract the data in a way that you can change the view w/o having to change the data-config.xml file each time. It's also worth pointing out that the 'server time' should be exactly the same on both your database and solr machine (if not on the same box) as Solr stores internally the last time it indexed your data in a value referenced in your sql as '${dataimporter.last_index_time}'. &lt;br /&gt;** If you have a 'smalldatetime' value for lastmodified where sql will 'round' the seconds of the field, then you may run into issues where Solr won't pick up on changes that have happened since it's last_index_time as compared to your database timestamps etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solr Schema:&lt;/span&gt;&lt;br /&gt;This is basically the data definition in a single &lt;a target="_blank" href="http://wiki.apache.org/solr/SchemaXml?highlight=(schema)"&gt;schema.xml&lt;/a&gt; of your data.   You define your 'fields' which are your columns of data from the data-config and the datatypes etc. This is very flexible including the ability to 'group' multiple fields together as a single field (copyfield) as well as defining what is the default field that's searched on if none is specified in the field (i.e. search for 'MN jobs' could search job titles, job desc, locations etc).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solr Config:&lt;/span&gt;&lt;br /&gt;There was a one line change here just to tell Solr to use the data-config for it's data:&lt;br /&gt;&lt;blockquote&gt;&amp;lt;requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"&amp;gt;&lt;br /&gt;    &amp;lt;lst name="defaults"&amp;gt;&lt;br /&gt;      &amp;lt;str name="config"&amp;gt;data-config.xml&amp;lt;/str&amp;gt;      &lt;br /&gt;    &amp;lt;/lst&amp;gt;&lt;br /&gt;  &amp;lt;/requestHandler&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ColdFusion:&lt;/span&gt;&lt;br /&gt;Wayne Graham has published an open source component out there at &lt;a target="_blank" href="http://www.riaforge.org"&gt;Ria Forge&lt;/a&gt; to assist in the low level cfhttp calls called  &lt;a target="_blank" href="http://solcoldfusion.riaforge.org/"&gt;SolManager&lt;/a&gt;.  I've added this as a helper to my main 'SolrManager' component and i just call it to do the cfhttp calls to Solr and then I can do what I need with the data it returns.&lt;br /&gt;Since the data is returned as xml, and the 'schema' of the data defines which columns / nodes are returned, I then have full control over the result.  I convert the xml to a query using query new, xmlparse, and xmlsearch - and for our purpose as long as the query is in the same format as the one returned by a cfsearch through verity, the application won't know any difference.&lt;br /&gt;&lt;br /&gt;Performance:&lt;br /&gt;FAST!  Solr does it's own caching and warming of searches and results and from my metrics, depending on the xml result set (which can EASILY be adjusted to limit the size of the xml as a '&amp;rows=x' query string attribute in the search string) the performance is negligible if not better across the board for searches.&lt;br /&gt;&lt;br /&gt;There's a lot more to discuss such as &lt;a target="_blank" href="http://lucene.apache.org/java/2_4_0/queryparsersyntax.html"&gt;search syntax&lt;/a&gt;, &lt;a target="_blank" href="http://wiki.apache.org/solr/SolrReplication"&gt;replication&lt;/a&gt;, admin dashboard etc, but I'll leave a few stones un-turned for you to dive in and get your feet wet.  They have good documentation on the site as well as an Extremely easy and efficient Jetty package that you can start up, execute a few commands on through a &lt;a target="_blank" href="http://lucene.apache.org/solr/tutorial.html"&gt;tutorial&lt;/a&gt; on their site, and get a feel for what to expect.&lt;br /&gt;&lt;br /&gt;All in all, we were to the point where Verity was NO LONGER AN OPTION or a viable solution for our company and was causing nearly hourly baby sitting, so this solution was implemented JIT (Just in Time) and has saved us from feeling the effects of daily search stress.&lt;br /&gt;&lt;br /&gt;Have fun and stay tuned for a full run down with code samples at &lt;a target="_blank" href="http://www.colderfusion.com"&gt;MN CFUG&lt;/a&gt; soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-8240861730055023064?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Iwax9MIqEcfMDLFYG2gSx_vEp90/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Iwax9MIqEcfMDLFYG2gSx_vEp90/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Iwax9MIqEcfMDLFYG2gSx_vEp90/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Iwax9MIqEcfMDLFYG2gSx_vEp90/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/V_8cYPb9fW8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/8240861730055023064/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=8240861730055023064" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8240861730055023064?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8240861730055023064?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/V_8cYPb9fW8/search-engine-death-match-solr-wins-pt.html" title="Search Engine Death Match - Solr Wins (Pt. 2)" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/05/search-engine-death-match-solr-wins-pt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4DR3w7eip7ImA9WxJSEU0.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-4237698476991875131</id><published>2009-04-30T09:41:00.002-05:00</published><updated>2009-04-30T09:49:36.202-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-30T09:49:36.202-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Verity" /><category scheme="http://www.blogger.com/atom/ns#" term="solr" /><title>Search Engine Death Match - Solr Wins</title><content type="html">It's now been over a month since we rolled out our Lucene / Solr powered search engine replacement for Verity in our application and let me sum it up this way: Zero maintenance.&lt;br /&gt;&lt;br /&gt;Even though the OEM Verity licensing states 250K record max, we ran into a ceiling on a few of our machines when the number of Verity collections reached 82-88.  We were doing constant rcadmin fixes to drop the thread counts for each collection down to 2 from 3 - but on each restart or at random points in time, the thread counts would return to 3.  Instability and random collection switches were the main reasons we moved off the platform, and we'll never look back.&lt;br /&gt;&lt;br /&gt;Solr took some configuration, but it was more than flexible enough for our needs, and with the delta updates and deletes, it made the maintenance near zero.&lt;br /&gt;&lt;br /&gt;As far as parsing the resulting xml, that was done efficiently through coldfusion's xmlparse and xmlsearch to walk the nodes and return a 'like' verity recordset to the application.  With ColdSpring we were able to swap out implementations easily and everything just worked.  Great planning and execution resulted in a seamless rollout with Solr being run on RedHat on a dedicated machine.&lt;br /&gt;&lt;br /&gt;I will most likely do a presentation at our next/upcoming CFUG (ColdFusion User Group) in Minneapolis/St.Paul in the near months about the transition and talk about integration points before ColdFusion 9 comes out and makes it all available with a single tag ;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lucene.apache.org/solr/"&gt;Long Live Open Source software&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-4237698476991875131?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XO5DWx8SyX6-eZdCZ9RcI905UCg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XO5DWx8SyX6-eZdCZ9RcI905UCg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XO5DWx8SyX6-eZdCZ9RcI905UCg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XO5DWx8SyX6-eZdCZ9RcI905UCg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/G_uzVCRIMvc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/4237698476991875131/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=4237698476991875131" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4237698476991875131?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4237698476991875131?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/G_uzVCRIMvc/search-engine-death-match-solr-wins.html" title="Search Engine Death Match - Solr Wins" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>3</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/04/search-engine-death-match-solr-wins.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAHRn89eip7ImA9WxVQFkU.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-816871568407869063</id><published>2009-02-03T11:57:00.012-06:00</published><updated>2009-02-03T12:45:37.162-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-03T12:45:37.162-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><category scheme="http://www.blogger.com/atom/ns#" term="query of queries" /><title>Query of Queries is Inconsistent (Adobe CFML Runtime)</title><content type="html">I've never been a big fan of a half baked solution, but I will acknowledge that coldfusion's &lt;a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/using_recordsets_8.html"&gt;query of queries&lt;/a&gt; has come a long way from it's beginning and does do a good job on simple queries to get data from an existing query.&lt;br /&gt;&lt;br /&gt;However, there are times when it simply sucks at doing what you think it should do, especially when it comes to multiple tables and joins, as well as converting datatypes to be alike.&lt;br /&gt;&lt;br /&gt;I'll show a few examples of it's inconsistencies and attempt to point out some problems with it's implementation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Example 1:&lt;/span&gt; Q-of-Q (Query of Queries) and Proper variable scoping inside a cffunction.&lt;br /&gt;&lt;br /&gt;When inside a cffunction you always want to fully qualify your variables as best practice.  If it's an arguments, prepend the value with 'arguments.' etc.  The same goes for Q-of-Q.  But I will show you where q-of-q forces you to break it's own best practice advice by not allowing you to do this simple task.&lt;br /&gt;&lt;br /&gt;I will be referencing the following 2 queries:&lt;br /&gt;&lt;br /&gt;&lt;div class="mycode"&gt;&amp;lt;!--- Test Query 1 ---&amp;gt;&lt;br /&gt;&amp;lt;cfset q = QueryNew('id,name','Integer,varchar')&amp;gt;&lt;br /&gt;&amp;lt;cfset queryaddrow(q,1) &amp;gt;&lt;br /&gt;&amp;lt;cfset querysetCell(q,'id',1,1) &amp;gt;&lt;br /&gt;&amp;lt;cfset querysetcell(q,'name','test',1) &amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--- Test Query 2 ---&amp;gt;&lt;br /&gt;&amp;lt;cfset q2 = QueryNew('id,age','Integer,Integer')&amp;gt;&lt;br /&gt;&amp;lt;cfset queryAddRow(q2,1)  &amp;gt;&lt;br /&gt;&amp;lt;cfset querySetCell(q2,'id',1,1)  &amp;gt;&lt;br /&gt;&amp;lt;cfset querySetCell(q2,'age',33,1)  &amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This is a simple query that creates a single row of data&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SYiHfyrsmyI/AAAAAAAAADE/EKQeVEZcDQ0/s1600-h/query2.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 74px; height: 66px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SYiHfyrsmyI/AAAAAAAAADE/EKQeVEZcDQ0/s400/query2.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5298633941852134178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zaIJDxUOIzI/SYiHbqtL-wI/AAAAAAAAAC8/nQt5yqbczG0/s1600-h/query1.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 83px; height: 65px;" src="http://4.bp.blogspot.com/_zaIJDxUOIzI/SYiHbqtL-wI/AAAAAAAAAC8/nQt5yqbczG0/s400/query1.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5298633870991424258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What I'm going to do is merge the results of these 2 queries (as one may have come from a cfdirectory, and the other from a cfsearch, or cfquery etc).&lt;br /&gt;&lt;br /&gt;My method takes 2 query arguments and joins them - but for now I'll just return the value of the 1st argument 'qry'.&lt;br /&gt;&lt;br /&gt;&lt;div class="mycode"&gt;&amp;lt;cffunction name="merge" output="false" access="public" returntype="query" hint=""&amp;gt;&lt;br /&gt; &amp;lt;cfargument name="qry" type="query" required="true"/&amp;gt;&lt;br /&gt; &amp;lt;cfargument name="qry2" type="query" required="true"/&amp;gt;&lt;br /&gt; &amp;lt;cfset var Private=StructNew()&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;cfquery name="private.q" dbtype="query"&amp;gt;&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;select *&lt;br /&gt;  from  arguments.qry &lt;/span&gt;&lt;br /&gt; &amp;lt;/cfquery&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;cfreturn private.q /&amp;gt;&lt;br /&gt;&amp;lt;/cffunction&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Resulting in a simple query returned - nothing special.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SYiI6rx5BOI/AAAAAAAAADM/yck9ZYG4-CE/s1600-h/result1.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 257px; height: 162px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SYiI6rx5BOI/AAAAAAAAADM/yck9ZYG4-CE/s400/result1.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5298635503367161058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now when i wish to merge the 2 queries - I would assume that I could do something like this then if 'arguments.qry' worked to reference the qry argument.&lt;br /&gt;&lt;div class="mycode"&gt;  &amp;lt;cffunction name="merge" output="false" access="public" returntype="query" hint=""&amp;gt;&lt;br /&gt; &amp;lt;cfargument name="qry" type="query" required="true"/&amp;gt;&lt;br /&gt; &amp;lt;cfargument name="qry2" type="query" required="true"/&amp;gt;&lt;br /&gt; &amp;lt;cfset var Private=StructNew()&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;cfquery name="private.q" dbtype="query"&amp;gt;&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;select *&lt;br /&gt;  from  arguments.qry, arguments.qry2&lt;br /&gt;  where arguments.qry.id = arguments.qry2.id&lt;/span&gt;&lt;br /&gt; &amp;lt;/cfquery&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;cfreturn private.q /&amp;gt;&lt;br /&gt;&amp;lt;/cffunction&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;WRONG! &lt;br /&gt;Query Of Queries syntax error.&lt;br /&gt;Encountered "arguments . qry .. Incorrect conditional expression, Expected one of [like|null|between|in|comparison] condition, &lt;br /&gt;&lt;br /&gt;Ok fine - I won't use proper best practices and just reference the query w/o the arguments proper fully scoped value.&lt;br /&gt;&lt;br /&gt; &lt;div class="mycode"&gt; &amp;lt;cffunction name="merge" output="false" access="public" returntype="query" hint=""&amp;gt;&lt;br /&gt; &amp;lt;cfargument name="qry" type="query" required="true"/&amp;gt;&lt;br /&gt; &amp;lt;cfargument name="qry2" type="query" required="true"/&amp;gt;&lt;br /&gt; &amp;lt;cfset var Private=StructNew()&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;cfquery name="private.q" dbtype="query"&amp;gt;&lt;br /&gt;   &lt;span style="font-weight:bold;"&gt;select *&lt;br /&gt;   from  qry, qry2&lt;br /&gt;   where qry.id= qry2.id&lt;/span&gt;&lt;br /&gt; &amp;lt;/cfquery&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;cfreturn private.q /&amp;gt;&lt;br /&gt;&amp;lt;/cffunction&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Results: works fine&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zaIJDxUOIzI/SYiJ08diKEI/AAAAAAAAADU/5sgxjHa7kp8/s1600-h/result2.GIF"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 338px; height: 164px;" src="http://4.bp.blogspot.com/_zaIJDxUOIzI/SYiJ08diKEI/AAAAAAAAADU/5sgxjHa7kp8/s400/result2.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5298636504277592130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Example 2:&lt;/span&gt; Using QofQ (query of queries) to reference a column from the table using dot notation&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_p-q_17.html"&gt;ColdFusion LiveDocs&lt;/a&gt; states the following:&lt;br /&gt;&lt;blockquote&gt;Example&lt;br /&gt;&lt;br /&gt;If a structure named A contains a field named B, which contains a table named Products, you can refer to the table with dot notation, as follows:&lt;br /&gt;&lt;div class="mycode"&gt;&lt;br /&gt;SELECT tape_ID, length&lt;br /&gt;FROM A.B.Products;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The 'structure' in my case is 'arguments', the field name is 'id', and the table name is 'qry'.  With that in mind:&lt;br /&gt;&lt;br /&gt;A=arguments&lt;br /&gt;B=id&lt;br /&gt;Products=qry&lt;br /&gt;&lt;br /&gt;Therefore you could deduce that the following is true:&lt;br /&gt;&lt;br /&gt;&lt;div class="mycode"&gt;&lt;br /&gt;SELECT id, name&lt;br /&gt;FROM &lt;span style="font-weight:bold;"&gt;arguments.id.qry &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Results:&lt;br /&gt;&lt;br /&gt;Query Of Queries syntax error.&lt;br /&gt;Encountered ". Incorrect Select List, Incorrect select column, arguments.id cannot be followed by '.' &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;However, you would normally reference this data as 'arguments.qry.id'.&lt;br /&gt;&lt;br /&gt;Results:&lt;br /&gt;&lt;br /&gt;Query Of Queries syntax error.&lt;br /&gt;Encountered ". Incorrect Select List, Incorrect select column, arguments.qry cannot be followed by '.' &lt;br /&gt;&lt;br /&gt;The kicker is - Neither of these work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-816871568407869063?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZtjQMRdj6VkWd1dHH9I2I-feOEQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZtjQMRdj6VkWd1dHH9I2I-feOEQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZtjQMRdj6VkWd1dHH9I2I-feOEQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZtjQMRdj6VkWd1dHH9I2I-feOEQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/vAy8SlxVq4o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/816871568407869063/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=816871568407869063" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/816871568407869063?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/816871568407869063?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/vAy8SlxVq4o/query-of-queries-is-inconsistent-adobe.html" title="Query of Queries is Inconsistent (Adobe CFML Runtime)" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_zaIJDxUOIzI/SYiHfyrsmyI/AAAAAAAAADE/EKQeVEZcDQ0/s72-c/query2.GIF" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/02/query-of-queries-is-inconsistent-adobe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYBQXk_eSp7ImA9WxVQEk0.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-3510089310069018225</id><published>2009-01-28T22:10:00.000-06:00</published><updated>2009-01-28T22:25:50.741-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T22:25:50.741-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><category scheme="http://www.blogger.com/atom/ns#" term="wddx" /><title>Killer WDDX - Beware!</title><content type="html">I came across a rather interesting 'feature' tonight while working on some logging and alerting processes.  We have data in a structure that holds raw information about various processes that have occurred.  In one of the structure keys there is an XMLObject (coldfusion parsed xml object).  See the code snippet below and DO NOT run this on production equipment!!&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;cfset stcStruct = StructNew()/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;cfset xmlDoc = "&amp;lt;myxml&amp;gt;&amp;lt;name&amp;gt;Kevin Penny&amp;lt;/name&amp;gt;&amp;lt;/myxml&amp;gt;"&amp;gt;&lt;br /&gt;&amp;lt;cfset stcStruct.xml = xmlParse(xmlDoc)/&amp;gt;&lt;br /&gt;&amp;lt;cfset stcStruct.id = 1&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;cfwddx action="cfml2wddx" input="#stcStruct#" output="tmp"/&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This takes a Structure, adds a key of 'xml' and places a parsed xml object in it's position.  I'm then serializing the data into wddx via cfwddx as cfml2wddx.&lt;br /&gt;&lt;br /&gt;I originally thought it was the date fields that I had in the structure, so I removed those, but the problem was the xml object's serialization.&lt;br /&gt;&lt;br /&gt;Here's the error I get along with a partial dump:&lt;br /&gt;java.lang.StackOverflowError&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;at java.beans.Introspector.instantiate(Introspector.java:1438)&lt;br /&gt; at java.beans.Introspector.findExplicitBeanInfo(Introspector.java:410)&lt;br /&gt; at java.beans.Introspector.&lt;init&gt;(Introspector.java:359)&lt;br /&gt; at java.beans.Introspector.getBeanInfo(Introspector.java:222)&lt;br /&gt; at java.beans.Introspector.&lt;init&gt;(Introspector.java:368)&lt;br /&gt; at java.beans.Introspector.getBeanInfo(Introspector.java:222)&lt;br /&gt; at java.beans.Introspector.&lt;init&gt;(Introspector.java:368)&lt;br /&gt; at java.beans.Introspector.getBeanInfo(Introspector.java:222)&lt;br /&gt; at java.beans.Introspector.&lt;init&gt;(Introspector.java:368)&lt;br /&gt; at java.beans.Introspector.getBeanInfo(Introspector.java:222)&lt;br /&gt; at java.beans.Introspector.&lt;init&gt;(Introspector.java:368)&lt;br /&gt; at java.beans.Introspector.getBeanInfo(Introspector.java:222)&lt;br /&gt; at java.beans.Introspector.&lt;init&gt;(Introspector.java:368)&lt;br /&gt; at java.beans.Introspector.getBeanInfo(Introspector.java:222)&lt;br /&gt; at java.beans.Introspector.getBeanInfo(Introspector.java:208)&lt;br /&gt; at coldfusion.wddx.BeanSerializer.writeObject(BeanSerializer.java:48)&lt;br /&gt; at coldfusion.wddx.WddxOutputStream.writeObject(WddxOutputStream.java:310)&lt;br /&gt; at coldfusion.wddx.BeanSerializer.writeObject(BeanSerializer.java:120)&lt;br /&gt; at coldfusion.wddx.WddxOutputStream.writeObject(WddxOutputStream.java:310)&lt;br /&gt; at coldfusion.wddx.BeanSerializer.writeObject(BeanSerializer.java:120)&lt;br /&gt; at coldfusion.wddx.WddxOutputStream.writeObject(WddxOutputStream.java:310)&lt;br /&gt;&lt;br /&gt;I've submitted this as a bug to Adobe #&lt;span style="font-weight:bold;"&gt;75230&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-3510089310069018225?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pdXMspVp9UhIpxPD4IHq_tT_Y6k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pdXMspVp9UhIpxPD4IHq_tT_Y6k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pdXMspVp9UhIpxPD4IHq_tT_Y6k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pdXMspVp9UhIpxPD4IHq_tT_Y6k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/M2vzy5GTzjQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/3510089310069018225/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=3510089310069018225" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/3510089310069018225?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/3510089310069018225?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/M2vzy5GTzjQ/killer-wddx-beware.html" title="Killer WDDX - Beware!" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/01/killer-wddx-beware.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQHR38yfip7ImA9WxVSGUk.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-1598510253333979823</id><published>2009-01-14T09:32:00.001-06:00</published><updated>2009-01-14T09:35:36.196-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-14T09:35:36.196-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cfproperty inspector" /><title>Update to CFPROPERTY Inspector Utility</title><content type="html">I implemented a new UI for the &lt;a href="http://cfproperty.riaforge.org/index.cfm?event=action.download"&gt;CFPROPERTY Inspector&lt;/a&gt; as well as small bug fixes etc.&lt;br /&gt;&lt;br /&gt;I used the JQuery tab UI which helps the flow of the steps being that the process is just one large form.  Here are the new screen shots.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SW4F98kF64I/AAAAAAAAACc/Ot22yp0ixK0/s1600-h/tab1.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 97px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SW4F98kF64I/AAAAAAAAACc/Ot22yp0ixK0/s320/tab1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5291173173994580866" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zaIJDxUOIzI/SW4GD-83iiI/AAAAAAAAACk/h-_jXDVrLoc/s1600-h/tab2.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 137px;" src="http://3.bp.blogspot.com/_zaIJDxUOIzI/SW4GD-83iiI/AAAAAAAAACk/h-_jXDVrLoc/s320/tab2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5291173277714582050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SW4GI4LV6yI/AAAAAAAAACs/LNVQqupRbE4/s1600-h/tab3.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 121px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SW4GI4LV6yI/AAAAAAAAACs/LNVQqupRbE4/s320/tab3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5291173361795590946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zaIJDxUOIzI/SW4GO-u3efI/AAAAAAAAAC0/U-D2hgWB_Co/s1600-h/tab4.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 201px;" src="http://3.bp.blogspot.com/_zaIJDxUOIzI/SW4GO-u3efI/AAAAAAAAAC0/U-D2hgWB_Co/s320/tab4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5291173466634418674" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-1598510253333979823?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9w0JPF8V_W522YdjZVZKciyYYtM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9w0JPF8V_W522YdjZVZKciyYYtM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9w0JPF8V_W522YdjZVZKciyYYtM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9w0JPF8V_W522YdjZVZKciyYYtM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/-oq6xVe6LF8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/1598510253333979823/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=1598510253333979823" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1598510253333979823?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1598510253333979823?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/-oq6xVe6LF8/update-to-cfproperty-inspector-utility.html" title="Update to CFPROPERTY Inspector Utility" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_zaIJDxUOIzI/SW4F98kF64I/AAAAAAAAACc/Ot22yp0ixK0/s72-c/tab1.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/01/update-to-cfproperty-inspector-utility.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8CRn8_eSp7ImA9WxVSEkg.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-1366300149197351811</id><published>2009-01-06T09:59:00.000-06:00</published><updated>2009-01-06T10:04:27.141-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-06T10:04:27.141-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cfc" /><category scheme="http://www.blogger.com/atom/ns#" term="cfproperty inspector" /><title>CFProperty Inspector on RiaForge</title><content type="html">I've released the CFPROPERTY Inspector on riaforge and google code for those interested in it.&lt;br /&gt;&lt;br /&gt; &lt;blockquote&gt;This Utility is designed to introspect components and auto-create CFPROPERTY tags based on the function meta data. &lt;br /&gt;Specify the mapping to your components, and choose which cfc's you want to have CFPROPERTY Tags defined on them as well as what properties of your components that you wish to have CFPROPERTY tags defined for. (for assisting in getting your components well defined for Flex integration etc.) &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;For Screen Shots and more checkout &lt;a href="http://cfproperty.riaforge.org/"&gt;cfproperty.riaforge.org&lt;/a&gt; and to download the code visit Google Code &lt;a href="http://cfproperty-inspector.googlecode.com/svn/trunk/cfproperty.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SWOAtP83F4I/AAAAAAAAACM/XptGLxCTBJs/s1600-h/step1.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 221px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SWOAtP83F4I/AAAAAAAAACM/XptGLxCTBJs/s320/step1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5288211902327363458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SWOA1205sqI/AAAAAAAAACU/hzw1N0D1-Gk/s1600-h/step2.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 225px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SWOA1205sqI/AAAAAAAAACU/hzw1N0D1-Gk/s320/step2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5288212050201916066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Let me know what you think.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-1366300149197351811?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1ftojsjprO8lBFkjpTeGgwfoZpg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1ftojsjprO8lBFkjpTeGgwfoZpg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1ftojsjprO8lBFkjpTeGgwfoZpg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1ftojsjprO8lBFkjpTeGgwfoZpg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/Gd-uRgonQw0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/1366300149197351811/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=1366300149197351811" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1366300149197351811?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/1366300149197351811?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/Gd-uRgonQw0/cfproperty-inspector-on-riaforge.html" title="CFProperty Inspector on RiaForge" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_zaIJDxUOIzI/SWOAtP83F4I/AAAAAAAAACM/XptGLxCTBJs/s72-c/step1.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2009/01/cfproperty-inspector-on-riaforge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMGQX8zeCp7ImA9WxRaFEU.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-8927132415272116556</id><published>2008-12-16T20:10:00.000-06:00</published><updated>2008-12-16T20:20:20.180-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-16T20:20:20.180-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><category scheme="http://www.blogger.com/atom/ns#" term="cfc" /><title>Manipulating CFC Properties through getMetaData</title><content type="html">&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I started toying with the idea of creating a generic utility that would populate a cfc with ‘property’ as in cfproperty data and I have something work now – (this would make the compatibility between flex and the model that much better and more ‘well defined’)&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Would this be of benefit to us – i.e. running our model through it which would then create all cfproperty tags for a given object based on the getter methods w/in the object – and determine datatype of string, numeric etc – based on the getter methods data etc – &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;What sort of things do I have to be careful of ??&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Order&lt;/b&gt; of the cfproperty tags counts right – and &lt;b style=""&gt;Case sensitivity&lt;/b&gt; of the names obviously ??&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;So the process would either do it alpha – or by order that was returned by getMetaData on the object – &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;An interesting thing happens however when I’m doing this – I could actually build this into coldspring likely where these properties are autogenerated on the fly and never actually have to exist w/in the cfc&lt;span style=""&gt;  &lt;/span&gt;(written back to the cfc)&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The strange thing happened was this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Once I do a create object on a cfc – I can dump&lt;span style=""&gt;  &lt;/span&gt;it and it shows that there are NO properties defined in the meta data – which is good&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;So I run it through my process where I’m introspecting the cfc and create this ‘properties’ key and append the array to this key.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This works well and now a side by side before and after shows the left object with NO properties and the right with Properties – great.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;However the next time I run it – the left side also shows that the object now HAS properties – &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is strange – b/c cfproperty tags don’t actually exist in the cfc – but yet I’m able to fake cf (caching likely) into thinking / assigning these properties to the object.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt; &lt;/span&gt;For Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Here my Job Object has NO cfproperty tags:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face  {font-family:"Cambria Math";  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:0;  mso-generic-font-family:roman;  mso-font-pitch:variable;  mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face  {font-family:Calibri;  panose-1:2 15 5 2 2 2 4 3 2 4;  mso-font-charset:0;  mso-generic-font-family:swiss;  mso-font-pitch:variable;  mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-unhide:no;  mso-style-qformat:yes;  mso-style-parent:"";  margin:0in;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-fareast-font-family:Calibri;  mso-fareast-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";} .MsoChpDefault  {mso-style-type:export-only;  mso-default-props:yes;  font-size:10.0pt;  mso-ansi-font-size:10.0pt;  mso-bidi-font-size:10.0pt;} @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.0in 1.0in 1.0in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:11;"  &gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_4" spid="_x0000_i1025" type="#_x0000_t75" alt="" style="'width:9in;height:79.5pt'"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\penny\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg" href="cid:image003.jpg@01C95FBA.39C4E2D0"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zaIJDxUOIzI/SUhgff7v9tI/AAAAAAAAABo/EZgafTB0H1I/s1600-h/1.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 49px;" src="http://3.bp.blogspot.com/_zaIJDxUOIzI/SUhgff7v9tI/AAAAAAAAABo/EZgafTB0H1I/s400/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5280576657356224210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;I’m going to make ColdFusion ‘think’ it has these properties defined on it by manipulating the metadata about the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Simple App/UI&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zaIJDxUOIzI/SUhgpwFG-dI/AAAAAAAAABw/HL1ANItP4FU/s1600-h/2.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 222px;" src="http://4.bp.blogspot.com/_zaIJDxUOIzI/SUhgpwFG-dI/AAAAAAAAABw/HL1ANItP4FU/s400/2.JPG" alt="" id="BLOGGER_PHOTO_ID_5280576833489140178" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are No properties on the left – &lt;span style=""&gt;                    &lt;/span&gt;On the right below, shows the ‘manipulated’ meta data based on the getter methods in the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zaIJDxUOIzI/SUhgxFOSVfI/AAAAAAAAAB4/Nhuk8zPeFZo/s1600-h/3.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 361px;" src="http://1.bp.blogspot.com/_zaIJDxUOIzI/SUhgxFOSVfI/AAAAAAAAAB4/Nhuk8zPeFZo/s400/3.JPG" alt="" id="BLOGGER_PHOTO_ID_5280576959423862258" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now after I run this again – you see both left and right are identical (cached metadata about the object)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zaIJDxUOIzI/SUhg4CC_MCI/AAAAAAAAACA/mMz1byNG2JM/s1600-h/4.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 363px;" src="http://2.bp.blogspot.com/_zaIJDxUOIzI/SUhg4CC_MCI/AAAAAAAAACA/mMz1byNG2JM/s400/4.JPG" alt="" id="BLOGGER_PHOTO_ID_5280577078830247970" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The left side ‘thinks’ that the object now has these properties available to it- which if called or introspected by Flex, they should be available.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This feels a bit like cheating, but if it doesn’t work – we can always complete this thought by having the process ‘write’ the cfproperty tags back to the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Interesting huh? &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-8927132415272116556?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Q5rezsgsQ9slhCTNITXkRf1trIs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q5rezsgsQ9slhCTNITXkRf1trIs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Q5rezsgsQ9slhCTNITXkRf1trIs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q5rezsgsQ9slhCTNITXkRf1trIs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/oimd2LkwCAs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/8927132415272116556/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=8927132415272116556" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8927132415272116556?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8927132415272116556?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/oimd2LkwCAs/manipulating-cfc-properties-through.html" title="Manipulating CFC Properties through getMetaData" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_zaIJDxUOIzI/SUhgff7v9tI/AAAAAAAAABo/EZgafTB0H1I/s72-c/1.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2008/12/manipulating-cfc-properties-through.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQAQnw8eSp7ImA9WxRVE0o.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-4181560638191910115</id><published>2008-11-10T20:18:00.000-06:00</published><updated>2008-11-10T20:25:43.271-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-10T20:25:43.271-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jrun" /><title>JRun4 wsconfig Error Loading jvm.dll</title><content type="html">Recently I attempted to patch our JRun4 servers with updater 7.  Unfortunately after the fact, I found out that there is &lt;a href="http://www.adobe.com/support/documentation/en/jrun/4/updater7/releasenotes_4_updater7.pdf"&gt;no 64 bit installer for it&lt;/a&gt; on windows. "64-bit Support – JRun4 Updater 7 provides 64-bit support on Solaris-SPARC. &lt;span style="font-weight: bold;"&gt;Other 64-bit operating systems including Windows 64-bit and Solaris-x86 64-bit are not supported.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;So after a quick panic attack and reverting to the backed up copy (yes I did back up some recommended things) I felt that I was out of the woods.  Twas not the case.&lt;br /&gt;&lt;br /&gt;The next time I went to add a site to the Coldfusion instance through wsconfig command line - I received a dreaded "Error Loading jvm.dll".  So I could no longer add sites and associate them to the webserver etc.&lt;br /&gt;&lt;br /&gt;Here was the old version:&lt;br /&gt;wsconfig.exe -ws IIS -site "jobs-jobs.com" -coldfusion -server "cfcluster" -v -ws64 -norestart&lt;br /&gt;(Error Loading jvm.dll)&lt;br /&gt;&lt;br /&gt;The new version of this has be using another &lt;a href="http://livedocs.adobe.com/jrun/4/Installing_JRun/servconf3.htm"&gt;technique&lt;/a&gt; using a java properties file instead. :&lt;br /&gt;java -jar wsconfig.jar -f c:\j2w_IISconfig\jrun.properties&lt;br /&gt;&lt;br /&gt;This called a jrun.properties file that had the arguments that i was executing directly to the wsconfig.exe prior&lt;br /&gt;&lt;br /&gt;The Properties looks somehing like this:&lt;br /&gt;&lt;br /&gt;ws=IIS&lt;br /&gt;site=jobs-jobs.com&lt;br /&gt;ws64=true&lt;br /&gt;norestart=true&lt;br /&gt;server=cfcluster&lt;br /&gt;coldfusion=true&lt;br /&gt;&lt;br /&gt;Bingo - Hope this helps some other soul out there - as it stopped me in my tracks for a bit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-4181560638191910115?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xeIlHgjYrCKs0uZp4hKsifGHSfo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xeIlHgjYrCKs0uZp4hKsifGHSfo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xeIlHgjYrCKs0uZp4hKsifGHSfo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xeIlHgjYrCKs0uZp4hKsifGHSfo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/9bp9XR5rYyI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/4181560638191910115/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=4181560638191910115" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4181560638191910115?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/4181560638191910115?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/9bp9XR5rYyI/jrun4-wsconfig-error-loading-jvmdll.html" title="JRun4 wsconfig Error Loading jvm.dll" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2008/11/jrun4-wsconfig-error-loading-jvmdll.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYFSHkzfyp7ImA9WxRWE0U.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-5129374959872950703</id><published>2008-10-30T10:16:00.000-05:00</published><updated>2008-10-30T10:21:59.787-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-30T10:21:59.787-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coldfusion" /><category scheme="http://www.blogger.com/atom/ns#" term="clustering" /><title>Separating the JVM config files - A Cluster Conversation</title><content type="html">I had an interesting discussion with a fellow who was looking to solidify his stand with his boss on jvm configuration separation and the need for it.  Below is the IM conversation the ensued - I think it helps to show some of the various points that could be made arguing FOR having the separation of the config files per logical JVM (names changed to protect the innocent and guilty)&lt;br /&gt;&lt;br /&gt;[09:20] cluster_help: Hello, i was just talkin to Jared about some jvm clustering stuff and he said you were way smarter than him on that stuff&lt;br /&gt;[09:20] kpenny: sure ok -&lt;br /&gt;[09:20] cluster_help: we're setting up a few clustered instances for a large app on a single vmware box&lt;br /&gt;[09:21] kpenny: cool - 32 bit?&lt;br /&gt;[09:21] cluster_help: i know i should have each instance running its own jvm config so we (yeah, 32) can lower the max heap etc so all the instances aren't trying to use ALL the available memory&lt;br /&gt;[09:22] cluster_help: i can find lots of posts and articles on HOW. Do you know of any that mention WHY?&lt;br /&gt;[09:22] cluster_help: need to help my infrastructure guy convince his boss&lt;br /&gt;[09:22] kpenny: so 'why' separate the instances?&lt;br /&gt;[09:22] cluster_help: load balance and failover&lt;br /&gt;[09:23] cluster_help: its a custom installation of our main app for a large, high traffic customer&lt;br /&gt;[09:23] cluster_help: we're isolating them from all our "regular" customers&lt;br /&gt;[09:23] kpenny: yup - both excellent reasons  - keep the app UP -&lt;br /&gt;[09:24] kpenny: so you'll have x vm's&lt;br /&gt;[09:24] cluster_help: yea&lt;br /&gt;[09:24] cluster_help: and a gig of RAM to allocate among them&lt;br /&gt;[09:25] kpenny: i also recommend if you have say 8 processor box - not to give each vm virtual procs that add up t o 8&lt;br /&gt;[09:25] kpenny: as the ESX host for example would need cpu 2&lt;br /&gt;[09:25] cluster_help: right, it is an ESX host&lt;br /&gt;[09:25] kpenny: k - we noticed that when we dedicated 2 cores per vm&lt;br /&gt;[09:25] kpenny: we were cpu strapped -&lt;br /&gt;[09:26] kpenny: also you have to think about memory utilization - if you have 4g ram on each vm&lt;br /&gt;[09:26] kpenny: and only a single jvm - likely the jvm max is 1.2G -&lt;br /&gt;[09:26] kpenny: and the os isn't going to use 2.8g ram&lt;br /&gt;[09:26] cluster_help: u know of anything published anywhere that describes WHY its a good idea to lower the max (allocate memory judiciously) across each instance&lt;br /&gt;[09:26] kpenny: so you're also leveraging your hardware better&lt;br /&gt;[09:26] cluster_help: right&lt;br /&gt;[09:27] kpenny: describe - lower the max -&lt;br /&gt;[09:27] cluster_help: when you create new instances, they all use the same jvm.config, so they all get allocated whatever the default is&lt;br /&gt;[09:27] kpenny: right - separating them gives you more control that's all&lt;br /&gt;[09:28] kpenny: and also allows you to do custom class paths&lt;br /&gt;[09:28] kpenny: etc, as your apps grow -&lt;br /&gt;[09:28] cluster_help: so you create a sep jvm.config for each instance, and lower the max heap size, so they all aren't trying to use  all the available&lt;br /&gt;[09:28] kpenny: and/or as you allocate resources - you have more granular control&lt;br /&gt;[09:28] kpenny: well even though you're using the same jvm.config&lt;br /&gt;[09:28] kpenny: its still a separate unique jvm&lt;br /&gt;[09:28] kpenny: that they are running w/in -&lt;br /&gt;[09:28] kpenny: which can be a misconception -&lt;br /&gt;[09:29] kpenny: the jvm.config just configures the values for each of the individual jvms in use -&lt;br /&gt;[09:29] kpenny: by separating out the configs, then you're able to have more control over 1 jvm out of the 4 say&lt;br /&gt;[09:29] kpenny: vs. one change in one file for 'all' jvms&lt;br /&gt;[09:30] cluster_help: roger that.  but other than the obvious, if you have 8 instances and 8 x maxheap ends up being more than the available memory on the host, don't you risk having a problem?&lt;br /&gt;[09:31] kpenny: yes&lt;br /&gt;[09:31] kpenny: that's when you'd need either 64 bit - or multiple machines - etc -&lt;br /&gt;[09:31] kpenny: but yeah you never wanna allocate 2 much&lt;br /&gt;[09:31] cluster_help: so why my infrastructure guy's boss is looking for is a technote or a blog post or something that says you SHOULD lower the max in the .config&lt;br /&gt;[09:31] kpenny: but with separation of the configs you can control that -&lt;br /&gt;[09:32] kpenny: well really the max should be determined by the app&lt;br /&gt;[09:32] cluster_help: yeah.  Like I told my boss, I know HOW to do it.  (I did it yesterday on my laptop!)&lt;br /&gt;[09:32] kpenny: so if you have large mem requirements -&lt;br /&gt;[09:32] kpenny: then it should be higher - i guess i'd say there's no set rule - just&lt;br /&gt;[09:32] kpenny: that depending on performance tsting what's best for the app at a given time -&lt;br /&gt;[09:33] kpenny: i.e. if you have multiple applications using frameworks and cs etc -&lt;br /&gt;[09:34] cluster_help: here's the background on my company - the dev manager and the infrastructure manager constantly bicker and fight little political battles.  the infrastucture guy and me have about 10 years of exp in each of our areas of expertise&lt;br /&gt;[09:34] cluster_help: but both our bosses want us to prove via external sources what we recommend&lt;br /&gt;[09:34] kpenny: ok -&lt;br /&gt;[09:35] cluster_help: and I am saying, and my infrastructure guy concurs, that we need sep config files for each instance in the cluster, (for granular control) of the max memory allocations&lt;br /&gt;[09:35] kpenny: whats your max set to now - ?  and is there a memory problem  i.e. using 2 much memory&lt;br /&gt;[09:35] cluster_help: but we need to show them WHY we recommend that&lt;br /&gt;[09:35] cluster_help: the cluster isn't even in production yet, this is a first time set up&lt;br /&gt;[09:35] cluster_help: we're actually clustering the staging env first for load testing&lt;br /&gt;[09:36] cluster_help: then we'll do it in production&lt;br /&gt;[09:36] cluster_help: we've never clustered or had very good front end load balancing here&lt;br /&gt;[09:36] kpenny: i guess one more good point to throw in the mix is this&lt;br /&gt;[09:37] kpenny: some apps perform better on different jvm versions - heck even sun vs. ibm etc -&lt;br /&gt;[09:37] kpenny: so - with that - w/o granular control you're stuck using the same version that all other apps are using&lt;br /&gt;[09:37] kpenny: in a single config -&lt;br /&gt;[09:37] kpenny: vs what we went through were were we had an app that uses coldspringn and&lt;br /&gt;[09:37] cluster_help: right&lt;br /&gt;[09:38] kpenny: benefited from the bug fix in 1.6.v10&lt;br /&gt;[09:38] kpenny: so we were able to just change that config and run the app&lt;br /&gt;[09:38] kpenny: others can use stock or whatever&lt;br /&gt;[09:38] cluster_help: this is going to be 3 or 4 instances of a single app deployed as an .ear&lt;br /&gt;[09:38] kpenny: so 3 jvm's&lt;br /&gt;[09:38] kpenny: clustered?&lt;br /&gt;[09:39] kpenny: i guess i'd argue for it having the separation b/c it's easier to do it from the start -&lt;br /&gt;[09:39] kpenny: and you really can't predict how things will be configured 5 months from now -&lt;br /&gt;[09:39] kpenny: it's not a big deal to separate them -&lt;br /&gt;[09:39] kpenny: and you can always do it at a later date if needed 2&lt;br /&gt;[09:40] cluster_help: yeah&lt;br /&gt;[09:40] cluster_help: but as far as you know, there isn't anything out there in a kb article or a tech note that says WHY you should do it that way, its just kind of a common knowledge/common sense thing?&lt;br /&gt;[09:41] kpenny: well i know for dev its essential&lt;br /&gt;[09:41] kpenny: for reasons like control over debugging ports&lt;br /&gt;[09:41] kpenny: and you're likely working with multiple applications each with their own requirements&lt;br /&gt;[09:42] kpenny: so for dev i'ts a no brainer - but if you have production separated out where x apps are all on y vm's etc.&lt;br /&gt;[09:42] kpenny: and the other ones are on separate ones and they never cross over&lt;br /&gt;[09:42] kpenny: then you can likely get away with stock setup&lt;br /&gt;[09:42] kpenny: however -&lt;br /&gt;[09:42] kpenny: we have some 'maintenance' things that happen with the app&lt;br /&gt;[09:42] kpenny: and we found it most beneficial to have this as a separate instace - even though tis the same app -&lt;br /&gt;[09:43] kpenny: but run schedules through it -&lt;br /&gt;[09:43] kpenny: for batch processes etc - off on it's own - which&lt;br /&gt;[09:43] kpenny: has it's own requirements for mem etc -&lt;br /&gt;[09:43] kpenny: and we benefited from having them separate configs&lt;br /&gt;[09:43] kpenny: also -&lt;br /&gt;[09:43] kpenny: if you wanted to setup a scheduler 'instance' where all it did is kick off&lt;br /&gt;[09:43] kpenny: cf schedules to your app&lt;br /&gt;[09:43] kpenny: you don't wanna allocate 512 mb ram for that guy&lt;br /&gt;[09:44] kpenny: likely small 128 via config&lt;br /&gt;[09:44] kpenny: and run it alongside or whatever -&lt;br /&gt;[09:44] kpenny: so there are many use cases - and they all depend on your preference&lt;br /&gt;[09:44] kpenny: debugging locally with multiple instances w/o having separate jvm configs is impossible&lt;br /&gt;[09:44] kpenny: so that's #1 reason I started doing it -&lt;br /&gt;[09:45] kpenny: then after that i noticed all these other possibilities&lt;br /&gt;[09:45] cluster_help: right, but if we're doing the multiple instances so we can have load balance and failover, each instance should be set to the max we can afford given the machines total available RAM and taking into account the OS's needs and stuff like that?&lt;br /&gt;[09:45] cluster_help: in a production environment?&lt;br /&gt;[09:46] kpenny: if you're app performs best with the max at that level -&lt;br /&gt;[09:46] kpenny: some apps won't -&lt;br /&gt;[09:46] kpenny: and typically if you allocate over what 1.8gb?&lt;br /&gt;[09:46] kpenny: the service won't start?&lt;br /&gt;[09:46] cluster_help: so really the load testing we're going to do will let us know if the settings will work&lt;br /&gt;[09:46] kpenny: yup&lt;br /&gt;[09:46] cluster_help: i think its 1.2gb.&lt;br /&gt;[09:46] kpenny: right ok -&lt;br /&gt;[09:47] kpenny: yeah try it at various levels -&lt;br /&gt;[09:47] cluster_help: cool - hey, thanks for the info man, it really helps&lt;br /&gt;[09:47] kpenny: np - !  best of luck -&lt;br /&gt;[09:47] cluster_help: thanks, i appreciate it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-5129374959872950703?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1Ccw5cOykwzsT2xe9EWyEFKZKvo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1Ccw5cOykwzsT2xe9EWyEFKZKvo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1Ccw5cOykwzsT2xe9EWyEFKZKvo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1Ccw5cOykwzsT2xe9EWyEFKZKvo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/Ad3_OY6-F4o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/5129374959872950703/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=5129374959872950703" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5129374959872950703?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5129374959872950703?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/Ad3_OY6-F4o/separating-jvm-config-files-cluster.html" title="Separating the JVM config files - A Cluster Conversation" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2008/10/separating-jvm-config-files-cluster.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQCRX86eCp7ImA9WxRXF0U.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-5977626770069517500</id><published>2008-10-23T12:47:00.000-05:00</published><updated>2008-10-23T12:52:44.110-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-23T12:52:44.110-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Verity" /><title>Lowering the Number of Verity Threads on Servers with Large Number of Collections</title><content type="html">With our 55+ collections - we have some suggested ways to better manage the amount of threads that Verity has to manage.  Below is the suggestion direct form Adobe Tier 3 ColdFusion/Jrun support consultants.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;So, the suggested workaround to prevent the issue of collectionnames being ‘switched’ is to lower the number of threads assigned to each collection in Verity.  Verity support had indicated this is an issue they are familiar with.  They see it when the ratio of (total number of threads/CPU) gets high.  Your total threads is about 165 now (55 collections * 3 threads).  They suggest lowering the threads per collection to 2.  Note, it is generally not recommended you use less than 2 threads per collection.  One thread per collection may work for collections that are not heavily used.&lt;br /&gt;&lt;br /&gt;You can update the threads per collection by running Verity RCAdmin.  I have pasted below the output from my updating a “linuxarchive” collection.  You will run the rcadmin from your verity_root\k2\_nt40\bin directory in a DOS window. &lt;br /&gt;1. type in rcadmin&lt;enter&gt;&lt;br /&gt;2. at rcadmin prompt type in indexattach&lt;enter&gt;&lt;br /&gt;3. type in collectionname for index alias&lt;br /&gt;4. enter ‘c’ for collection&lt;br /&gt;5. enter the search server alias (ColdFusionK2_server1)&lt;br /&gt;6. modify type is update = 0&lt;br /&gt;7. index state is online = 2&lt;br /&gt;8. Threads is the update you are making.  All collections have 3 threads currently, which you should change to 2.&lt;br /&gt;9. save changes=y&lt;br /&gt;You should do this for each of your collections.  Once you have updated all the collections you will need to stop and restart the Verity search service.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I have recently done this on our beta environment and the numbers fell from about 270 threads (task manager - Processes - view - Select columns - thread count) to 210 or so.  We'll see how this effects overall management of the collections.  This is not necessary on servers with lower number of managed collections.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-5977626770069517500?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Uz2ZD1NeHGAxkq6oWQr1VvEbRac/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uz2ZD1NeHGAxkq6oWQr1VvEbRac/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Uz2ZD1NeHGAxkq6oWQr1VvEbRac/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uz2ZD1NeHGAxkq6oWQr1VvEbRac/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/H77kb4V1pbY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/5977626770069517500/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=5977626770069517500" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5977626770069517500?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/5977626770069517500?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/H77kb4V1pbY/lowering-number-of-verity-threads-on.html" title="Lowering the Number of Verity Threads on Servers with Large Number of Collections" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2008/10/lowering-number-of-verity-threads-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHQXs5eCp7ImA9WxRXFk0.&quot;"><id>tag:blogger.com,1999:blog-3020243820938959432.post-8658037292795775472</id><published>2008-10-21T11:13:00.000-05:00</published><updated>2008-10-21T11:27:10.520-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-21T11:27:10.520-05:00</app:edited><title>64 Bit Microsoft Windows ODBC Drivers (Excel)</title><content type="html">If you've moved from a 32 bit environment to a 64 bit one and are using the Microsoft ODBC drivers for things like Excel (reading a worksheet) and Access, I'm afraid you're out of luck (this includes even text files etc).&lt;br /&gt;&lt;br /&gt;I just found out the hard way that code written to pull data using the 'jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)}' no longer works in Windows Server 64 bit edition.  Microsoft apparently feels that they don't need to provide 64 bit drivers at all for Office connectivity.  Which I guess means that we as developers and software designers should no longer support Office, which is OK by me.&lt;br /&gt;&lt;br /&gt;I've hated working with Excel to import/export data to / from, and have had nothing but trouble either direct to the Database with OPENDATASOURCE and having to move uploaded files to the database server, or simply on the server through a jdbc odbc call.  &lt;br /&gt;&lt;br /&gt;I'm fine with Eliminating Excel as a valid import option - I just need to find / create a fast alternative that will do CSV or other formats (not using CF to do the heavy work with those files as they can be large).  There is one ray of hope - in an opencsv format found &lt;a href="http://opencsv.sourceforge.net"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3020243820938959432-8658037292795775472?l=codefusionllc.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_V6DeevjoAWhMjl7CkQ0NjOOOuw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_V6DeevjoAWhMjl7CkQ0NjOOOuw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_V6DeevjoAWhMjl7CkQ0NjOOOuw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_V6DeevjoAWhMjl7CkQ0NjOOOuw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~4/mluu4GoEIM4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codefusionllc.blogspot.com/feeds/8658037292795775472/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3020243820938959432&amp;postID=8658037292795775472" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8658037292795775472?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3020243820938959432/posts/default/8658037292795775472?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CodeFusion-AllPurposeSymbolicInstructionCode/~3/mluu4GoEIM4/64-bit-microsoft-windows-odbc-drivers.html" title="64 Bit Microsoft Windows ODBC Drivers (Excel)" /><author><name>Code Fusion, LLC</name><uri>http://www.blogger.com/profile/01462721460414469270</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_zaIJDxUOIzI/SDRgImG2S6I/AAAAAAAAAAM/U1RVqnZfVlQ/S220/P1010005_sm.JPG" /></author><thr:total>5</thr:total><feedburner:origLink>http://codefusionllc.blogspot.com/2008/10/64-bit-microsoft-windows-odbc-drivers.html</feedburner:origLink></entry></feed>

