<?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: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-5960043294318032146</id><updated>2012-01-05T09:02:08.675-05:00</updated><title type='text'>My Head Hurts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://umakemyheadhurt.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://umakemyheadhurt.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paul</name><uri>http://www.blogger.com/profile/16621456153970768265</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5960043294318032146.post-776200412006378072</id><published>2010-05-07T13:23:00.003-04:00</published><updated>2010-05-07T13:26:30.474-04:00</updated><title type='text'>Rod Johnson on standardization and design by committee</title><content type='html'>This is an extremely interesting presentation.  Highly recommended.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.infoq.com/presentations/Lessons-Learned-from-Java-EE"&gt;&lt;br /&gt;http://www.infoq.com/presentations/Lessons-Learned-from-Java-EE&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5960043294318032146-776200412006378072?l=umakemyheadhurt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.infoq.com/presentations/Lessons-Learned-from-Java-EE' title='Rod Johnson on standardization and design by committee'/><link rel='enclosure' type='' href='http://www.infoq.com/presentations/Lessons-Learned-from-Java-EE' length='0'/><link rel='replies' type='application/atom+xml' href='http://umakemyheadhurt.blogspot.com/feeds/776200412006378072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umakemyheadhurt.blogspot.com/2010/05/rod-johnson-on-standardization-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/776200412006378072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/776200412006378072'/><link rel='alternate' type='text/html' href='http://umakemyheadhurt.blogspot.com/2010/05/rod-johnson-on-standardization-and.html' title='Rod Johnson on standardization and design by committee'/><author><name>Paul</name><uri>http://www.blogger.com/profile/16621456153970768265</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5960043294318032146.post-1408773992936332123</id><published>2010-04-29T15:55:00.000-04:00</published><updated>2010-04-29T15:55:45.959-04:00</updated><title type='text'>Multiple JUnit 4.4 @RunWith annotations</title><content type='html'>Anybody know how to do this?  JUnit 4.4?&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;@RunWith(MockitoJUnitRunner.class)&lt;br /&gt;@RunWith(SpringJUnit4ClassRunner.class)&lt;br /&gt;@ContextConfiguration(locations = {"mocked_spring_tests.xml"})&lt;br /&gt;public class MyTests&lt;br /&gt;...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Eclipse complains "Duplicate annotation @RunWith"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5960043294318032146-1408773992936332123?l=umakemyheadhurt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://umakemyheadhurt.blogspot.com/feeds/1408773992936332123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umakemyheadhurt.blogspot.com/2010/04/multiple-junit-44-runwith-annotations.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/1408773992936332123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/1408773992936332123'/><link rel='alternate' type='text/html' href='http://umakemyheadhurt.blogspot.com/2010/04/multiple-junit-44-runwith-annotations.html' title='Multiple JUnit 4.4 @RunWith annotations'/><author><name>Paul</name><uri>http://www.blogger.com/profile/16621456153970768265</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5960043294318032146.post-252506582951189262</id><published>2010-02-03T12:03:00.000-05:00</published><updated>2010-02-03T12:03:51.785-05:00</updated><title type='text'>The G1 garbage collector is buggy...</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;We're seeing lots of these using the new G1 garbage collector on 1.6.0_16:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;# A fatal error has been detected by the Java Runtime Environment:&lt;br /&gt;#&lt;br /&gt;#  SIGSEGV (0xb) at pc=0x00002b55ba46eeb4, pid=17580, tid=1090718016&lt;br /&gt;#&lt;br /&gt;# JRE version: 6.0_16-b01&lt;br /&gt;# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.2-b01 mixed mode linux-amd64 )&lt;br /&gt;# Problematic frame:&lt;br /&gt;# V  [libjvm.so+0x57feb4]&lt;br /&gt;#&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Admittedly we're not on the very latest JDK, which at this time is _18.  And wow, look at the &lt;/span&gt;&lt;a href="http://java.sun.com/javase/6/webnotes/6u18.html"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;release notes for Java SE 6 Update 18&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;!  I count 45 bug fixes tagged with G1...  I guess they're serious when it's unlocked with "-XX:+UnlockExperimentalVMOption".&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5960043294318032146-252506582951189262?l=umakemyheadhurt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://umakemyheadhurt.blogspot.com/feeds/252506582951189262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umakemyheadhurt.blogspot.com/2010/02/g1-garbage-collector-is-buggy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/252506582951189262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/252506582951189262'/><link rel='alternate' type='text/html' href='http://umakemyheadhurt.blogspot.com/2010/02/g1-garbage-collector-is-buggy.html' title='The G1 garbage collector is buggy...'/><author><name>Paul</name><uri>http://www.blogger.com/profile/16621456153970768265</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5960043294318032146.post-3698826382356359185</id><published>2009-11-10T17:45:00.000-05:00</published><updated>2009-11-10T17:45:07.452-05:00</updated><title type='text'>The Java 1.6 compiler is smarter about generics than 1.5</title><content type='html'>Try compiling this code against a Java 1.5 and then a 1.6 compiler. &amp;nbsp;It will compile against 1.6 but not 1.5. &amp;nbsp;Weird... &amp;nbsp;The 1.6 compiler can apparently recognize that a generic class satisfies a method's arguments while 1.5 can not.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;import java.util.*;&lt;br /&gt;import java.util.concurrent.*;&lt;br /&gt;&lt;br /&gt;public class CompilesOnJava6Not5&lt;br /&gt;{&lt;br /&gt;   public static void main(String args[]) throws Exception&lt;br /&gt;   {&lt;br /&gt;      List&lt;workertask&gt; tasks = new ArrayList&lt;workertask&gt;();&lt;br /&gt;      ExecutorService executor = Executors.newCachedThreadPool();&lt;br /&gt;      executor.invokeAll(tasks);&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   public static class WorkerTask implements Callable&lt;string&gt;&lt;br /&gt;   {&lt;br /&gt;      public String call()&lt;br /&gt;      {&lt;br /&gt;         return "some work";&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/string&gt;&lt;/workertask&gt;&lt;/workertask&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5960043294318032146-3698826382356359185?l=umakemyheadhurt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://umakemyheadhurt.blogspot.com/feeds/3698826382356359185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umakemyheadhurt.blogspot.com/2009/11/java-16-compiler-is-smarter-about.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/3698826382356359185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/3698826382356359185'/><link rel='alternate' type='text/html' href='http://umakemyheadhurt.blogspot.com/2009/11/java-16-compiler-is-smarter-about.html' title='The Java 1.6 compiler is smarter about generics than 1.5'/><author><name>Paul</name><uri>http://www.blogger.com/profile/16621456153970768265</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5960043294318032146.post-2256524856227216992</id><published>2009-11-10T16:43:00.000-05:00</published><updated>2009-11-10T16:43:59.890-05:00</updated><title type='text'>getDeclaredFields vs getFields</title><content type='html'>getDeclaredFields will return all fields declared in the current object including private fields, but not fields in any parent objects. &amp;nbsp;getFields returns all public fields visible on the object, including parents... &amp;nbsp;So what if you want all fields (public, protected, and private) on the object? &amp;nbsp;I guess you have use getDeclaredFields and getSuperClass to recurse through the object heirarchy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5960043294318032146-2256524856227216992?l=umakemyheadhurt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://umakemyheadhurt.blogspot.com/feeds/2256524856227216992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umakemyheadhurt.blogspot.com/2009/11/getdeclaredfields-vs-getfields.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/2256524856227216992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/2256524856227216992'/><link rel='alternate' type='text/html' href='http://umakemyheadhurt.blogspot.com/2009/11/getdeclaredfields-vs-getfields.html' title='getDeclaredFields vs getFields'/><author><name>Paul</name><uri>http://www.blogger.com/profile/16621456153970768265</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5960043294318032146.post-8662889876943003</id><published>2009-11-10T11:30:00.000-05:00</published><updated>2009-11-10T11:30:36.844-05:00</updated><title type='text'>Spring autowiring of private fields with no set method</title><content type='html'>To autowire a private field with no setter method I always assumed Spring would manipulate the byte code using AspjectJ or something similar and create an "artificial" setter method, but it actually just uses reflection to change the access to the field using "setAccessible". &amp;nbsp;Take a look at the makeAccessible method in the internal spring class&amp;nbsp;&lt;a href="http://org/springframework/util/ReflectionUtils.html#makeAccessible"&gt;org.springframework.util.ReflectionUtils&lt;/a&gt;. &amp;nbsp;This likely won't work with a security manager in place so I wonder what happens in that case.&lt;br /&gt;&lt;br /&gt;Interestingly&amp;nbsp;also, I found that even if there is a setter for a public field annotated with @Autowired, Spring doesn't call the setter to set the value. &amp;nbsp;It set the value directly on the field. &amp;nbsp;It only appears to call the setter if the setter method is annotated...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5960043294318032146-8662889876943003?l=umakemyheadhurt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://umakemyheadhurt.blogspot.com/feeds/8662889876943003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://umakemyheadhurt.blogspot.com/2009/11/spring-autowiring-of-private-fields.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/8662889876943003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5960043294318032146/posts/default/8662889876943003'/><link rel='alternate' type='text/html' href='http://umakemyheadhurt.blogspot.com/2009/11/spring-autowiring-of-private-fields.html' title='Spring autowiring of private fields with no set method'/><author><name>Paul</name><uri>http://www.blogger.com/profile/16621456153970768265</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
