<?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-10870752</id><updated>2024-10-25T06:25:51.829+02:00</updated><category term="hivemind"/><category term="maven"/><category term="tapestry"/><category term="Java"/><category term="scala"/><category term="ws"/><category term="ide"/><title type='text'>Marcus&#39; notes</title><subtitle type='html'>... mostly on programming, I think.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default?start-index=26&amp;max-results=25'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10870752.post-1362314925445036061</id><published>2012-12-25T20:23:00.001+01:00</published><updated>2012-12-25T22:13:20.820+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Globally configurable wiring alternatives in CDI</title><summary type="text">
The problem
Among the shortcomings of CDI (1.0) as a general purpose DI container is the lack of what Spring 3.+ users know as profiles (not to mention Guice, which is much more expressive due to its Java EDSL approach). The CDI feature which looks closest at a first glance is the concept of&amp;nbsp;alternatives,&amp;nbsp;quickly turns out to be utterly useless: You can annotate your beans directly (or</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/1362314925445036061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/1362314925445036061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/1362314925445036061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/1362314925445036061'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2012/12/globally-configurable-wiring.html' title='Globally configurable wiring alternatives in CDI'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-6849677567740008289</id><published>2012-04-10T08:30:00.000+02:00</published><updated>2012-04-10T09:12:20.638+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="scala"/><title type='text'>Autocompletion support for Scala&#39;s combinator parsers</title><summary type="text">Recently, I came to revisit Scala a bit more in depth -- compared to the odd script or hack I did before. Now, things at work change a bit: some green-field stuff to be done, even calling for some kind of DSL -- ok, maybe not really calling, really loudly but close enough to warrant spending some quality playing-time with my favorite &quot;next great programming language&quot;.
So I threw together some </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/6849677567740008289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/6849677567740008289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/6849677567740008289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/6849677567740008289'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2012/04/autocompletion-support-for-scalas.html' title='Autocompletion support for Scala&#39;s combinator parsers'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-8938868794322789314</id><published>2012-03-27T20:24:00.000+02:00</published><updated>2012-03-27T20:34:03.728+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Pleasant surprise: JUnit supports Design by Contract</title><summary type="text">I&#39;ve long felt contract envy of languages like Eiffel supporting Design by Contract. Only recently, I stumbled over the (not so) recent addition of theories to JUnit. Once the object instances under test are separated from the test-code - now taking on the form of a logical implication, making the latter re-usable is the obvious next step. Ever been tired of writing tests for your value-object&#39;s </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/8938868794322789314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/8938868794322789314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/8938868794322789314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/8938868794322789314'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2012/03/pleasant-surprise-junit-supports-design.html' title='Pleasant surprise: JUnit supports Design by Contract'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-5378414869397369368</id><published>2010-01-17T16:24:00.004+01:00</published><updated>2010-01-17T19:32:24.727+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Generics Gotcha: Intransitive Inheritance from self-referential types</title><summary type="text">The setupI was used to the assumption that type inheritance in Java is transitive, that is B extends A and C extends B implies that C is a subtype of A as well as of B. As long as A,B and C denote straight classes, this is true to the best of my knowledge. But as I, admittedly only recently, learned, once generic type expressions come into play it gets a bit more interesting:Let&#39;s make A a </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/5378414869397369368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/5378414869397369368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/5378414869397369368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/5378414869397369368'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2010/01/generics-gotcha-intransitive.html' title='Generics Gotcha: Intransitive Inheritance from self-referential types'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-5438333518710827851</id><published>2009-11-14T13:20:00.002+01:00</published><updated>2009-11-14T13:28:29.207+01:00</updated><title type='text'>Spring AOP: Excessive startup time for &quot;perTarget&quot; advice</title><summary type="text">Well over 300,000 Class.forName calls during context-initialisation were the result of setting up a simple &quot;perTarget&quot; advice for a 400-something beans application. With the standard &quot;per class&quot; instantiation model, the overhead went back to &quot;normal&quot;, returning the Hibernate SessionFactory to the top of the list of startup resource-consumers. From a quick look at the profiler output, AspectJ&#39;s </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/5438333518710827851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/5438333518710827851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/5438333518710827851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/5438333518710827851'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2009/11/spring-aop-excessive-startup-time-for.html' title='Spring AOP: Excessive startup time for &quot;perTarget&quot; advice'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-1603163265895478702</id><published>2008-02-23T20:36:00.002+01:00</published><updated>2008-02-23T21:12:58.843+01:00</updated><title type='text'>Powerbook survived HD-ectomy</title><summary type="text">My beloved &quot;old&quot; (3.5 years) powerbook (G4, 15&quot;, 1.5 GHz) started to make humming noises, especially when tilted. A couple of weeks later there were sudden hangups, it would only restart after given some cooling time. That it finally survived my amateur-surgery - albeit somewhat battered - let me immediately regret my fancying a new macbook. Some notes:  I followed this guide   I did need to poke</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/1603163265895478702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/1603163265895478702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/1603163265895478702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/1603163265895478702'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2008/02/powerbook-survived-hd-ectomy.html' title='Powerbook survived HD-ectomy'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-6750634644915386905</id><published>2007-06-04T21:42:00.000+02:00</published><updated>2007-06-06T21:27:39.548+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="scala"/><category scheme="http://www.blogger.com/atom/ns#" term="tapestry"/><title type='text'>Tapestry Components in Scala</title><summary type="text">Recently, I became interested in Scala: Multiple inheritance, good support for functional programming, a nice syntax, to mention the greatest highlights.As a first exercise, I tried to write some Tapestry-4 components in Scala to gain some real-world experience, and to see whether Tapestry&#39;s pretty extensive use of bytecode-generation would somehow break Scala&#39;s Java-compatibility. I was pretty </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/6750634644915386905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/6750634644915386905' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/6750634644915386905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/6750634644915386905'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/06/tapestry-components-in-scala.html' title='Tapestry Components in Scala'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-8536733787268112373</id><published>2007-05-12T12:27:00.000+02:00</published><updated>2007-05-14T08:51:50.080+02:00</updated><title type='text'>Clean and Flexible Authorisation for Tapestry Applications</title><summary type="text">Currently we&#39;r working on an application that will be used by 4 different departments. And I can already anticipate people dropping in to casually remark someting like &quot;Oh, by the way, we&#39;ve hired this guy who needs Access to module X of the invoicing system, but of course he mustn&#39;t be allowed to press button Y, and he needs to be able to change the comment-field. And don&#39;t hurry, he&#39;ll not </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/8536733787268112373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/8536733787268112373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/8536733787268112373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/8536733787268112373'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/05/clean-and-flexible-authorisation-for.html' title='Clean and Flexible Authorisation for Tapestry Applications'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-1648662118435693293</id><published>2007-04-25T20:29:00.001+02:00</published><updated>2008-03-04T18:44:56.817+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ide"/><title type='text'>Subversive beats Subclipse as SVN Plugin for Eclipse</title><summary type="text">I&#39;ve switched from subclipse to subversive recently. The former used to annoy me by its inability to handle directory moves/copies. I had to go and delete .svn dirs manuallyThe annoying need to do manual updates after each commitSubversive mostly works in any of these cases. And when it doesn&#39;t want to keep track of me moving some directory around, it politely asks me to commit before continuing.</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/1648662118435693293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/1648662118435693293' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/1648662118435693293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/1648662118435693293'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/04/subversive-beats-subclipse-as-svn.html' title='Subversive beats Subclipse as SVN Plugin for Eclipse'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-4314287981717328285</id><published>2007-03-08T10:42:00.000+01:00</published><updated>2007-05-12T12:14:04.004+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><title type='text'>Maven2: creating JavaDoc links behind a firewall</title><summary type="text">I just spent the better part of the morning trying to make javadoc links work. In short: configuring the proxy did not work - We have to cope with offline package-lists, not a big problem really. Of course, to configure the maven-javadoc-plugin to do this, reading the source was the quickest way to go. So put something like this in your pom.xml:&amp;lt;reporting&amp;gt;  &amp;lt;plugins&amp;gt;    &amp;lt;plugin&amp;gt;</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/4314287981717328285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/4314287981717328285' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/4314287981717328285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/4314287981717328285'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/03/maven2-creating-javadoc-links-behind.html' title='Maven2: creating JavaDoc links behind a firewall'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-5778584922866024970</id><published>2007-02-15T13:10:00.000+01:00</published><updated>2007-02-16T09:35:35.932+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ws"/><title type='text'>XFire newbie gotcha: use the correct ServiceFactory</title><summary type="text">If you use the jaxb binding (the default with the Maven-plugin) to generate you client proxies, to actually use your service, you have to instantiate a org.codehaus.xfire.jaxb2.JaxbServiceFactory instead of an org.codehaus.xfire.service.binding.ObjectServiceFactory. Otherwise the parameter names (wsdl:part@name) will be replaced with &quot;in0&quot;-elements by XFire - and the server will complain about an</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/5778584922866024970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/5778584922866024970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/5778584922866024970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/5778584922866024970'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/02/xfire-newbie-gotcha-use-correct.html' title='XFire newbie gotcha: use the correct ServiceFactory'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-9093334783075735421</id><published>2007-02-15T12:54:00.000+01:00</published><updated>2007-02-15T13:09:51.839+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="ws"/><title type='text'>Quality of Maven integration becomes decisive for OSS adoption - good bye Axis</title><summary type="text">Today I realised, how important it became for any open-source project to play nicely with the Maven repository and to get its dependencies right in its pom&#39;s . When I had to whip up a web-service client yesterday, I started out trying Axis-2 since I knew the server impl was bases on Axis. Quickly I had to decide to either start debugging their maven-plugins dependencies (obviously wsdl4j was lost</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/9093334783075735421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/9093334783075735421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/9093334783075735421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/9093334783075735421'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/02/quality-of-maven-integration-becomes.html' title='Quality of Maven integration becomes decisive for OSS adoption - good bye Axis'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-4692436888063345849</id><published>2007-02-11T17:56:00.000+01:00</published><updated>2007-01-15T06:44:05.262+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><title type='text'>New Version 1.0.2 of hivedoc-plugin for HiveMind /Maven2</title><summary type="text">Finally, I got around to enhancing the hivedoc-plugin with:  Support for sub-modules  Removal of empty columns in the module-summary table.The new version 1.0.2 should be on the central repo as soon as MAVENUPLOAD-1377 is resolved.</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/4692436888063345849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/4692436888063345849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/4692436888063345849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/4692436888063345849'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/02/new-version-102-of-hivedoc-plugin-for.html' title='New Version 1.0.2 of hivedoc-plugin for HiveMind /Maven2'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-2688963961374541416</id><published>2007-01-08T16:33:00.000+01:00</published><updated>2007-01-09T10:38:58.963+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><title type='text'>Half a Year of Maven 2: An experience of the awkward kind</title><summary type="text">We&#39;re using Maven 2 now for all new projects. At the highest level I can summarize our experience as:The concepts behind Maven are sound and amazingly useful.The implementation is just about usable - no show-stoppers anymore, but lots and lots of little, annoying bugs and surprising gotchasThe documentation is sloppy.The really funny thing is, how point 1. still by far outweighs the shortcomings </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/2688963961374541416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/2688963961374541416' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/2688963961374541416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/2688963961374541416'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/01/half-year-of-maven-2-experience-of.html' title='Half a Year of Maven 2: An experience of the awkward kind'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-3010061206976264118</id><published>2007-01-05T08:49:00.000+01:00</published><updated>2007-05-12T12:14:04.004+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><title type='text'>New Version of hivedoc-plugin for HiveMind</title><summary type="text">Since some people seem to use it, I&#39;ve updated my hivedoc-plugin to version 1.0.1 . Notable changes are:Support for custom resource root directoriesBackport to Java 1.4proper plugin-docsThe new version should show up on the central Maven 2 repo soon. If you need it before that, here&#39;s the repo-bundle.</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/3010061206976264118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/3010061206976264118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/3010061206976264118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/3010061206976264118'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/01/new-version-of-hivedoc-plugin-for.html' title='New Version of hivedoc-plugin for HiveMind'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-6702332821057360264</id><published>2007-01-02T10:42:00.000+01:00</published><updated>2007-05-12T12:16:33.355+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><title type='text'>hivedoc-plugin generates Maven 2 docs for HiveMind descriptors</title><summary type="text">If you&#39;re using HiveMind and Maven 2, generating docs for your HiveMind descriptors is now really quick and simple.Find the docs under http://marcus-schulte.ch/hivedoc-plugin/.</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/6702332821057360264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/6702332821057360264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/6702332821057360264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/6702332821057360264'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2007/01/hivedoc-plugin-generates-maven-2-docs.html' title='hivedoc-plugin generates Maven 2 docs for HiveMind descriptors'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-115834910485777741</id><published>2006-09-15T21:26:00.000+02:00</published><updated>2007-05-12T12:15:12.760+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tapestry"/><title type='text'>Honeycomb now comes with a Maven2 archetype for Tapestry/Hibernate based web-apps.</title><summary type="text">Version 0.3.3 of Honeycomb is released.Honeycomb provides an easy integration for Tapestry and Hibernate. Its distinguishing key feature is session-per-conversation support.The main changes in this release are:re-structuring into 4 libraries replaced the templates for the Core/Webapp projects with maven archetypes. Maven users get started without manual downloads.Fixed rollback on </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/115834910485777741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/115834910485777741' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/115834910485777741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/115834910485777741'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2006/09/honeycomb-now-comes-with-maven2.html' title='Honeycomb now comes with a Maven2 archetype for Tapestry/Hibernate based web-apps.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-115662116256651056</id><published>2006-08-26T21:15:00.000+02:00</published><updated>2006-08-26T21:39:23.053+02:00</updated><title type='text'>The Return of the Database - who needs more &quot;middleware&quot;?</title><summary type="text">Maybe it&#39;s just my organization&#39;s policy of giving its developers relatively free access to db&#39;s while, at the same time, putting lots of administrative hurdles and hurdle-like administrators between them and the app-server. But it&#39;s really amazing how little there is that you can&#39;t get done nicely with a sturdy db and a decent servlet-container (at most).Example: For some time I thought a nice </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/115662116256651056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/115662116256651056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/115662116256651056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/115662116256651056'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2006/08/return-of-database-who-needs-more.html' title='The Return of the Database - who needs more &quot;middleware&quot;?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-114102262191804853</id><published>2006-02-27T07:35:00.000+01:00</published><updated>2007-05-12T12:15:12.761+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tapestry"/><title type='text'>KickStart is now Honeycomb, release 0.3 out</title><summary type="text">Kickstart has moved from SourceForge to  JavaForge, and it&#39;s changed its name to Honeycomb (alluding to the central role that HiveMind plays in it).  Honeycomb integrates Tapestry with Hibernate for painless full-stack web-dev-support.New features comprise   A hibernate DataSqueezer    Pluggable Audit-Trail via hibernate interceptor     Support for session per request pattern via simple config </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/114102262191804853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/114102262191804853' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/114102262191804853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/114102262191804853'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2006/02/kickstart-is-now-honeycomb-release-03.html' title='KickStart is now Honeycomb, release 0.3 out'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-113734854534447715</id><published>2006-01-15T18:58:00.000+01:00</published><updated>2007-05-12T12:16:33.356+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind"/><category scheme="http://www.blogger.com/atom/ns#" term="tapestry"/><title type='text'>With Kickstart 0.2 Tapestry supports the hibernate session-per-conversation pattern out of the box</title><summary type="text">I&#39;ve uploaded a new release of KickStart. Improvements are:  Full support for the hibernate-session-per-conversation pattern. See hibernate.org for more.  fixed wrong unsaved-value-mapping</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/113734854534447715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/113734854534447715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/113734854534447715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/113734854534447715'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2006/01/with-kickstart-02-tapestry-supports.html' title='With Kickstart 0.2 Tapestry supports the hibernate session-per-conversation pattern out of the box'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-113666147746295534</id><published>2006-01-07T19:55:00.000+01:00</published><updated>2007-05-12T12:16:33.357+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind"/><category scheme="http://www.blogger.com/atom/ns#" term="tapestry"/><title type='text'>KickStart integrates Tapestry with Hibernate for painless full-stack web-dev-support</title><summary type="text">While Web-Development with Java is supported by a variety of great frameworks it is still not easy (even tedious) to, firstly, choose the right ones for a given problem and, secondly, make them work together. (needless to refer to all the envious appraisals of RoR and, yes, even Visual-Studio by Java-developers). I&#39;ve set up a Sourceforge project, called KickStart, (first download available right</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/113666147746295534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/113666147746295534' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/113666147746295534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/113666147746295534'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2006/01/kickstart-integrates-tapestry-with.html' title='KickStart integrates Tapestry with Hibernate for painless full-stack web-dev-support'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-113007523726320931</id><published>2005-10-23T15:46:00.000+02:00</published><updated>2005-10-23T15:47:17.270+02:00</updated><title type='text'>Finally no more clob-clipping: Oracle 10g supports standard JDBC CLOB-handling</title><summary type="text">The new enhancements in Oracle JDBC 10g promises to simplify the insertion and retrieval techniques for the CLOBs using the standard APIs.  Handling Clobs in Oracle 10g Just discovered the above link after trying to use Oracle&#39;s thin JDBC-Driver with  Hibernate to save CLOB-data ...  This automatically and silently nullifies the CLOB-field when you try to save more then 4k to it which you are </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/113007523726320931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/113007523726320931' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/113007523726320931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/113007523726320931'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2005/10/finally-no-more-clob-clipping-oracle.html' title='Finally no more clob-clipping: Oracle 10g supports standard JDBC CLOB-handling'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112974174496675371</id><published>2005-10-19T19:00:00.000+02:00</published><updated>2005-10-19T19:09:04.973+02:00</updated><title type='text'>Apache DBCP - never forget maxWait</title><summary type="text">Had some not so cozy hours debugging a productive app on Tomcat. The thing would spontaneously hang about once a day (The whole of Tomcat, apart from JMX was completely hung). It hung in an infinite wait in the Database-Pool. Funnily the default of the maxWait-Param is &quot;-1&quot;, i.e. infinitely. Now, after I fixed this it runs nicely.But it&#39;s still not clear to me, where the total deadlock came from.</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/112974174496675371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/112974174496675371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/112974174496675371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/112974174496675371'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2005/10/apache-dbcp-never-forget-maxwait.html' title='Apache DBCP - never forget maxWait'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112852493056945047</id><published>2005-10-05T16:56:00.000+02:00</published><updated>2005-10-19T19:26:44.636+02:00</updated><title type='text'>The Scattered State-Machine - An Antipattern for Web-Controllers</title><summary type="text">Like a lot of popular anti-patterns the scattered controller stems from the naive implementation of a seemingly obvious abstraction. The reasoning goes like this: Web-Apps show some html-page, each user event (http-request) triggers an action which, in turn, results in an event determining the next state which is either an action or a an html-page transferred back to the user&#39;s browser. So, use </summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/112852493056945047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/112852493056945047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/112852493056945047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/112852493056945047'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2005/10/scattered-state-machine-antipattern.html' title='The Scattered State-Machine - An Antipattern for Web-Controllers'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112783930957019047</id><published>2005-09-27T18:27:00.000+02:00</published><updated>2007-05-12T12:16:33.357+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind"/><title type='text'>Now on the hivemind-wiki: Hivemind support for Hibernate Long-Session-Pattern</title><summary type="text">Handling Hibernate-Sessions is a recurrent topic on the Tapestry users mailing list. Still, long sessions seem to be surprisingly unknown, once one considers the fact that Gavin King advocates its use in &quot;Hibernate in Action&quot;.So, I&#39;ve posted some code implementing the Long-Session-Pattern in Hivemind on the Hivemind-Wiki.I&#39;d be curious to hear whether it worked for anyone (or why it didn&#39;t) ...</summary><link rel='replies' type='application/atom+xml' href='http://marcus-schulte.blogspot.com/feeds/112783930957019047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10870752/112783930957019047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/112783930957019047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10870752/posts/default/112783930957019047'/><link rel='alternate' type='text/html' href='http://marcus-schulte.blogspot.com/2005/09/now-on-hivemind-wiki-hivemind-support.html' title='Now on the hivemind-wiki: Hivemind support for Hibernate Long-Session-Pattern'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>