<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8761110134797103940</id><updated>2026-10-01T00:23:48.152-07:00</updated><category term="java"/><category term="JAR"/><category term="JETTY_RUN"/><category term="Jetty"/><category term="NDC"/><category term="POST"/><category term="SOAP UI"/><category term="align"/><category term="change"/><category term="class file"/><category term="html"/><category term="html td align &quot;web development&quot;"/><category term="jetty.pid"/><category term="log4j"/><category term="logging"/><category term="modify"/><category term="multiple instances"/><category term="table"/><category term="td"/><category term="testing"/><title type='text'>Notes on Integration</title><subtitle type='html'>A compilation of solutions to everyday software engineering problems.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eai-notes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://eai-notes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>EAI Engineer</name><uri>http://www.blogger.com/profile/13851176776607791048</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihhQNb6MqQCThZFuFa8GaIy80B26eoLbpt6zOgw0ArI0cT6UsJkeL9bWhdFM9bYG9Tp7uirpdXaX9V8RBrbjJoySgZfKx4OBsgyi81siYkgNERzKTAGVMY7UjTf9oHm9s/s220/red-end-of-silence.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8761110134797103940.post-2415035654991302930</id><published>2010-12-29T14:32:00.000-08:00</published><updated>2010-12-29T14:45:56.825-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="align"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="html td align &quot;web development&quot;"/><category scheme="http://www.blogger.com/atom/ns#" term="table"/><category scheme="http://www.blogger.com/atom/ns#" term="td"/><title type='text'>html table - td right align problem</title><content type='html'>I was recently trying to right align the contents of a  in&amp;nbsp; table on my page and the align was not happening. The contents were still left aligned.&lt;br /&gt;
&lt;br /&gt;
While there might be multiple causes for this, the following fixed the problem for me:&lt;br /&gt;
&lt;br /&gt;
td style=&quot;float:right&quot;&lt;br /&gt;
&lt;br /&gt;
minor headache solved.</content><link rel='replies' type='application/atom+xml' href='http://eai-notes.blogspot.com/feeds/2415035654991302930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://eai-notes.blogspot.com/2010/12/html-table-td-right-align-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/2415035654991302930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/2415035654991302930'/><link rel='alternate' type='text/html' href='http://eai-notes.blogspot.com/2010/12/html-table-td-right-align-problem.html' title='html table - td right align problem'/><author><name>EAI Engineer</name><uri>http://www.blogger.com/profile/13851176776607791048</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihhQNb6MqQCThZFuFa8GaIy80B26eoLbpt6zOgw0ArI0cT6UsJkeL9bWhdFM9bYG9Tp7uirpdXaX9V8RBrbjJoySgZfKx4OBsgyi81siYkgNERzKTAGVMY7UjTf9oHm9s/s220/red-end-of-silence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8761110134797103940.post-2591221187078909888</id><published>2010-03-05T17:42:00.000-08:00</published><updated>2010-03-05T17:52:49.562-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Jetty"/><category scheme="http://www.blogger.com/atom/ns#" term="jetty.pid"/><category scheme="http://www.blogger.com/atom/ns#" term="JETTY_RUN"/><category scheme="http://www.blogger.com/atom/ns#" term="multiple instances"/><title type='text'>Multiple instances of Jetty</title><content type='html'>I recently had to run multiple instances of Jetty on the same machine. I thought seeing to it that the two instances run on different ports should allow them to run independently but this did not work. I got the following error:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Starting Jetty: Already Running!!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To allow multiple instances of Jetty to run use pay attention to the line &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;configure class=&quot;org.mortbay.jetty.Server&quot; id=&quot;Server&quot;&gt;Configure id=&quot;Server&quot; class=&quot;org.mortbay.jetty.Server&quot;&lt;configure class=&quot;org.mortbay.jetty.Server&quot; id=&quot;Server&quot;&gt;&lt;/configure&gt;&lt;/configure&gt;&lt;br /&gt;
&lt;configure class=&quot;org.mortbay.jetty.Server&quot; id=&quot;Server&quot;&gt;&lt;br /&gt;
in the &lt;b&gt;jetty.xml&lt;/b&gt; file (or configuration file). Here make sure that the &lt;b&gt;id &lt;/b&gt;parameter is unique to your Jetty&amp;nbsp; instance. While this solves the issue, poking around somemore with the innards of &lt;b&gt;jetty.sh&lt;/b&gt; reveals some absolute paths that, in my book, are better when turned to relative paths, especially in this case where we are trying to run multiple instances.&lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;JETTY_RUN&lt;/b&gt; is the parameter which decides where the jetty.pid file should be stored. It defaults to the first available of /var/run, /usr/var/run, and /tmp if not set. Change this value to an absolute path that is unique to this instance of Jetty should address the issue.&lt;/configure&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I found some of this information at &lt;a href=&quot;http://capitalcodemonkey.blogspot.com/2008/04/creating-multiple-jetty-server.html&quot;&gt;http://capitalcodemonkey.blogspot.com/2008/04/creating-multiple-jetty-server.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://eai-notes.blogspot.com/feeds/2591221187078909888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://eai-notes.blogspot.com/2010/03/multiple-instances-of-jetty-on-same.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/2591221187078909888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/2591221187078909888'/><link rel='alternate' type='text/html' href='http://eai-notes.blogspot.com/2010/03/multiple-instances-of-jetty-on-same.html' title='Multiple instances of Jetty'/><author><name>EAI Engineer</name><uri>http://www.blogger.com/profile/13851176776607791048</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihhQNb6MqQCThZFuFa8GaIy80B26eoLbpt6zOgw0ArI0cT6UsJkeL9bWhdFM9bYG9Tp7uirpdXaX9V8RBrbjJoySgZfKx4OBsgyi81siYkgNERzKTAGVMY7UjTf9oHm9s/s220/red-end-of-silence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8761110134797103940.post-3208468141413740371</id><published>2010-02-28T03:10:00.000-08:00</published><updated>2010-03-06T12:32:09.267-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="POST"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP UI"/><category scheme="http://www.blogger.com/atom/ns#" term="testing"/><title type='text'>quickly simulate a http POST request</title><content type='html'>While there may be many different ways to do this, one of the easiest ways would be to use &lt;a href=&quot;http://www.soapui.org/&quot;&gt;SOAP UI&lt;/a&gt;. This is a great tool for testing Web Services, but lends itself well to what we want to achieve here.&lt;br /&gt;
&lt;br /&gt;
1) Download SOAP UI and quickly create a project &amp;gt; test suite &amp;gt; test case &amp;gt; test step (HTTP request). Choose defaults for all values and you should be done in less than a minute.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvwR9YeOAQQxXIpwyeTyHxR1zhzG3Ad774BEIDq4vOijpBvknF1ZAmSJNV5jpJMl9s6PqhG6aFsFDZBq3JWzmEeE0hb_9eYcQXzNZYSrxZ-4I6uyyNwS-so8bAAhOmC3-Seq-H_fwS4tc/s1600-h/soap1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvwR9YeOAQQxXIpwyeTyHxR1zhzG3Ad774BEIDq4vOijpBvknF1ZAmSJNV5jpJMl9s6PqhG6aFsFDZBq3JWzmEeE0hb_9eYcQXzNZYSrxZ-4I6uyyNwS-so8bAAhOmC3-Seq-H_fwS4tc/s320/soap1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;2) Now in the Http test Request window, select the method as POST and put in the target URL. There is a space to enter the body of the request. In the example below, I have chosen &quot;text/xml&quot; for media type and have pasted a JSON string in the body. You can also set any headers that you need to set.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnWgNV8KBttdhzcJTKZ8RNQb1uJ1JyUMftnZAEaazm4a2Ccst362McXTzsG8Q4ycf_d3C1g6VBlN0wU6dMOt8MSG94-EcYN-XT0WRv_AfT0oy1lze2PS5s56Arr4jq09Om7qOgoNEi9_w/s1600-h/soap2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnWgNV8KBttdhzcJTKZ8RNQb1uJ1JyUMftnZAEaazm4a2Ccst362McXTzsG8Q4ycf_d3C1g6VBlN0wU6dMOt8MSG94-EcYN-XT0WRv_AfT0oy1lze2PS5s56Arr4jq09Om7qOgoNEi9_w/s320/soap2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;3) Hit the green arrow in the top left hand corner of the window. Your test is underway.&lt;/div&gt;&lt;div&gt;4) You will see the response, if any, in the response tab.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;As mentioned earlier in this post, SOAP UI is an excellent tool to test Web Services. Give it a WSDL and it generates a whole suite of tests to test each and every call of the wsdl. Pretty cool huh? It can do much more than what we have touched upon here. Its an essential tool for any development involving web services.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eai-notes.blogspot.com/feeds/3208468141413740371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://eai-notes.blogspot.com/2010/02/while-there-may-be-many-different-ways_28.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/3208468141413740371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/3208468141413740371'/><link rel='alternate' type='text/html' href='http://eai-notes.blogspot.com/2010/02/while-there-may-be-many-different-ways_28.html' title='quickly simulate a http POST request'/><author><name>EAI Engineer</name><uri>http://www.blogger.com/profile/13851176776607791048</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihhQNb6MqQCThZFuFa8GaIy80B26eoLbpt6zOgw0ArI0cT6UsJkeL9bWhdFM9bYG9Tp7uirpdXaX9V8RBrbjJoySgZfKx4OBsgyi81siYkgNERzKTAGVMY7UjTf9oHm9s/s220/red-end-of-silence.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvwR9YeOAQQxXIpwyeTyHxR1zhzG3Ad774BEIDq4vOijpBvknF1ZAmSJNV5jpJMl9s6PqhG6aFsFDZBq3JWzmEeE0hb_9eYcQXzNZYSrxZ-4I6uyyNwS-so8bAAhOmC3-Seq-H_fwS4tc/s72-c/soap1.png" height="72" width="72"/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8761110134797103940.post-6109590620291154016</id><published>2010-02-28T03:00:00.000-08:00</published><updated>2010-02-28T03:00:39.057-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="change"/><category scheme="http://www.blogger.com/atom/ns#" term="class file"/><category scheme="http://www.blogger.com/atom/ns#" term="JAR"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="modify"/><title type='text'>modifying JAR files</title><content type='html'>Ever been in the situation where you just had to make changes to a JAR file? For whatever reason you cannot make a new JAR but have to change the one that you have ? I had to recently replace a class file inside a JAR file and this is the learning from that.&lt;br /&gt;
&lt;br /&gt;
What&#39;s the bid deal you ask? Why not just use Winzip or WinRAR.. those can open up JAR files. Well, you can open the JARs up, but you can&#39;t fix them once you&#39;ve broken them. If the need is to have a JAR file you can place on your build path, sneaking in a class file and the zipping it up wont work. No matter how cute you try to get naming your zipped file. The reason this does not work is that every JAR has a manifest file automatically created in it. And Winzip just doesn&#39;t play right with manifest files.&lt;br /&gt;
&lt;br /&gt;
What you need to do is use the JAR utility that comes with JDK. This way you can insert you class file and create a new JAR that your application can pick up.&lt;br /&gt;
&lt;br /&gt;
1) use the following command to &quot;unzip&quot; or expand your jar:&lt;br /&gt;
&lt;br /&gt;
&amp;gt; jar xf &lt;name&gt;.jar&lt;/name&gt;&lt;br /&gt;
&lt;br /&gt;
This will cause the contents of the JAr to be extracted in the current directory.&lt;br /&gt;
&lt;br /&gt;
2) Make your changes .. replace class file.. whatever.&lt;br /&gt;
&lt;br /&gt;
3) use the following command to &quot;zip&quot; or create your new jar:&lt;br /&gt;
&lt;br /&gt;
jar cf jar-file input-file(s)/folder&lt;br /&gt;
&lt;br /&gt;
Of course, the Sun site has detailed information.&lt;br /&gt;
&lt;br /&gt;
You could also use the u parameter to update only the files you need.&lt;br /&gt;
jar -uf &lt;name&gt;.jar &lt;new/updated filenames=&quot;&quot; foldernames=&quot;&quot;&gt;&lt;/new/updated&gt;&lt;/name&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eai-notes.blogspot.com/feeds/6109590620291154016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://eai-notes.blogspot.com/2010/02/modifying-jar-files.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/6109590620291154016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/6109590620291154016'/><link rel='alternate' type='text/html' href='http://eai-notes.blogspot.com/2010/02/modifying-jar-files.html' title='modifying JAR files'/><author><name>EAI Engineer</name><uri>http://www.blogger.com/profile/13851176776607791048</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihhQNb6MqQCThZFuFa8GaIy80B26eoLbpt6zOgw0ArI0cT6UsJkeL9bWhdFM9bYG9Tp7uirpdXaX9V8RBrbjJoySgZfKx4OBsgyi81siYkgNERzKTAGVMY7UjTf9oHm9s/s220/red-end-of-silence.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8761110134797103940.post-6350071802894097531</id><published>2010-02-28T02:45:00.000-08:00</published><updated>2010-02-28T02:57:15.836-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="log4j"/><category scheme="http://www.blogger.com/atom/ns#" term="logging"/><category scheme="http://www.blogger.com/atom/ns#" term="NDC"/><title type='text'>log4j - a good configuration</title><content type='html'>I was fine-tuning my log4j settings today and decided upon the config below (as regards the format of output). This was keeping in mind what could be grep-ed easily and that we had multiple users hit our test environment.&lt;br /&gt;
&lt;br /&gt;
The NDC bit is particularly useful. It lets you track which user/client caused the log entry.&lt;br /&gt;
&lt;br /&gt;
log4j.appender.R.layout.ConversionPattern=%d{ISO8601} %-5p %10t %x [%C{1}] - %m%n&lt;br /&gt;
&lt;br /&gt;
%d{ISO8601} - date and its format&lt;br /&gt;
&lt;br /&gt;
%-5p last 5 letters of the priority&lt;br /&gt;
&lt;br /&gt;
%t - thread name&lt;br /&gt;
&lt;br /&gt;
%x - Nested Diagnostic Context (NDC)&lt;br /&gt;
&lt;br /&gt;
%C - Java class name, %C{1} will output the last one component&lt;br /&gt;
&lt;br /&gt;
%m - log message&lt;br /&gt;
&lt;br /&gt;
%n - new line&lt;br /&gt;
&lt;br /&gt;
The code required for NDC in the classes is quite simple and is at the end of this post. Turns out NDC has a known memory leak issue which should not trouble you if you use the NDC.remove() method after completeing all your log statements. _______________________________&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
import org.apache.log4j.NDC;&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
NDC.push(&quot;any ID that helps you identify the client &amp;gt;&amp;gt;&quot;+ID);&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
//all log statements&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
logger.debug(&quot;whatever&quot;);&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
NDC.pop();&lt;br /&gt;
&lt;br /&gt;
NDC.remove();&lt;br /&gt;
&lt;br /&gt;
I found most of the information at http://www.vipan.com/htdocs/log4jhelp.html.</content><link rel='replies' type='application/atom+xml' href='http://eai-notes.blogspot.com/feeds/6350071802894097531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://eai-notes.blogspot.com/2010/02/log4j-good-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/6350071802894097531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/6350071802894097531'/><link rel='alternate' type='text/html' href='http://eai-notes.blogspot.com/2010/02/log4j-good-configuration.html' title='log4j - a good configuration'/><author><name>EAI Engineer</name><uri>http://www.blogger.com/profile/13851176776607791048</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihhQNb6MqQCThZFuFa8GaIy80B26eoLbpt6zOgw0ArI0cT6UsJkeL9bWhdFM9bYG9Tp7uirpdXaX9V8RBrbjJoySgZfKx4OBsgyi81siYkgNERzKTAGVMY7UjTf9oHm9s/s220/red-end-of-silence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8761110134797103940.post-334049633580264661</id><published>2010-02-28T02:43:00.000-08:00</published><updated>2010-02-28T02:43:08.328-08:00</updated><title type='text'></title><content type='html'>Today, I was in the unwieldy business of compiling Java code on my machine and testing the class files on another deployment (on different machine no less.) And Eclipse decided roil the already muddy waters. I placed class files on the server multiple times but never saw my changes come through. Double checked everything - times stamp on the class file, was I copying it to the correct folder, was my ftp client screwing up, did my Tomcat have the latest ... nothing seemed to work.&lt;br /&gt;
&lt;br /&gt;
Finally I checked file sizes. Eclipse was dishing out crap as compiled files. &quot;Clean&quot; took out the old files, but the supposedly latest class files actually seemed to be generated from old code. It was particularly insidious behaviour not to warn me about this. Sometimes the classes just would not be there after a &quot;clean + compile&quot;. And the problem disappeared just as it had arrived - without me doing anything about it . Other possibly relevant information - I had a couple of related projects (as opposed to jars). Moral of the story - Eclipse ain&#39;t perfect. Its capable of throwing a spanner in the works. Quietly at that.</content><link rel='replies' type='application/atom+xml' href='http://eai-notes.blogspot.com/feeds/334049633580264661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://eai-notes.blogspot.com/2010/02/today-i-was-in-unwieldy-business-of_28.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/334049633580264661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8761110134797103940/posts/default/334049633580264661'/><link rel='alternate' type='text/html' href='http://eai-notes.blogspot.com/2010/02/today-i-was-in-unwieldy-business-of_28.html' title=''/><author><name>EAI Engineer</name><uri>http://www.blogger.com/profile/13851176776607791048</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihhQNb6MqQCThZFuFa8GaIy80B26eoLbpt6zOgw0ArI0cT6UsJkeL9bWhdFM9bYG9Tp7uirpdXaX9V8RBrbjJoySgZfKx4OBsgyi81siYkgNERzKTAGVMY7UjTf9oHm9s/s220/red-end-of-silence.jpg'/></author><thr:total>1</thr:total></entry></feed>