<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Mika Koivisto&amp;#039;s random thoughts</title>
  <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/rss" />
  <subtitle>Mika Koivisto&amp;#039;s random thoughts</subtitle>
  <entry>
    <title>Couple weeks in Europe</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/couple-weeks-in-europe" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/couple-weeks-in-europe</id>
    <updated>2012-05-04T00:36:02Z</updated>
    <published>2012-05-04T00:21:27Z</published>
    <summary type="html">&lt;p&gt;
	Recently I had the opportunity to spend couple weeks in Europe. During that trip I spent some time at Liferay office in Germany. It was really nice to see my German collegues and of course enjoy some German wheat beer and Apple Wine which is typical for the region.&lt;/p&gt;
&lt;p&gt;
	I also spent some time in Finland and was able to visit both family and friends. Also had some beer with my few friends from Logica. From Finland I went to Sweden to speak at the very first Liferay Nordic Symposium but before going there I spoke at Warm-up Cruise arranged by Liferay partner Ambientia. Check out Ambientias &lt;a href="http://blog.ambientia.fi/2012/04/25/liferay-symposium-warm-up-cruise-with-liferay-and-red-hat"&gt;blog post&lt;/a&gt; and my &lt;a href="http://slidesha.re/nordicsympocruise"&gt;presentation on SAML&lt;/a&gt;. &amp;nbsp;You can also check out my presentation on Liferay Nordic Symposium: &lt;a href="http://slidesha.re/nordicsymposium2012 "&gt;Developing Liferay Plugins with Maven&lt;/a&gt;.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2012-05-04T00:21:27Z</dc:date>
  </entry>
  <entry>
    <title>Three years behind at Liferay Today</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/three-years-behind-at-liferay-today" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/three-years-behind-at-liferay-today</id>
    <updated>2012-04-02T04:03:36Z</updated>
    <published>2012-04-02T00:32:01Z</published>
    <summary type="html">&lt;p&gt;
	I can't believe it's already been already 3 years since I left Logica and joined Liferay. Today it's exactly 3 years when I moved from Finland to Germany to join Liferay as a senior consultant. It's been really interesting 3 years. First 18 months I worked from our German office in Frankfurt am Main. My duties were mostly helping our customers and partners with their Liferay architecture and performance tuning. I also did quite a few trainings all over Europe. Although travelling was quite exhausting I still enjoyed it quite a bit.&lt;/p&gt;
&lt;p&gt;
	During my time in Germany I also got to participate in some core engineering tasks in form of sponsored development. &amp;nbsp;Sponsored development is where a customer comes to us with some feature or enhancements they want in the core product and as a result we find a way to implement the customer needs in such a way that we can include it in the core product for everyone else to take advantage of too.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	When I joined Liferay the intention was that I would join the team in Los Angeles as a core engineer. Well it took some time to get all the paper work done for US immigration and for me to get a H-1B visa but that finally happend about 18 months ago and that's when I relocated to sunny Southern California. Now I live in Los Angeles and work as a core engineer from our LA office.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	It's been amazing 3 years and I'm so proud to be member of our amazing team. It hasn't been without some challenges and frustration (mostly against USCIS) but I think it's all been worth it. This is truly one of the rare companies that care about more than just shareholder profits. It really cares about it's employees, customers and community and not to forget about society in general. One of our perks is that we can get paid days off to participate in volunteer programs.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	If you'd like to join us check out our &lt;a href="http://www.liferay.com/about-us/careers"&gt;career pages&lt;/a&gt; and feel free to contact me.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2012-04-02T00:32:01Z</dc:date>
  </entry>
  <entry>
    <title>Replaced Wordpress with Liferay finally</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/replaced-wordpress-with-liferay-finally" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/replaced-wordpress-with-liferay-finally</id>
    <updated>2010-10-08T08:42:08Z</updated>
    <published>2010-10-06T19:52:19Z</published>
    <summary type="html">&lt;p&gt;
	I've finally replaced my Wordpress blog with Liferay. This is something I've wanted to do for long time and now I think Liferay's blog portlet is good enough to do it. The CMS has been superior for quite sometime. The site a little bit under construction still but I've brought the most popular posts. If you want to comment you must create an account but it's really simple and fast if you have Facebook account or OpenID.&amp;nbsp;&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-06T19:52:19Z</dc:date>
  </entry>
  <entry>
    <title>Clustering Liferay with Terracotta</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/clustering-liferay-with-terracotta" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/clustering-liferay-with-terracotta</id>
    <updated>2010-10-02T16:11:19Z</updated>
    <published>2010-10-02T16:10:51Z</published>
    <summary type="html">&lt;p&gt;
	Here's a post I made to my Liferay blog on how to cluster &lt;a href="http://www.liferay.com/web/mika.koivisto/blog/-/blogs/how-do-i-cluster-liferay-with-terracotta"&gt;Liferay with Terracotta&lt;/a&gt;.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T16:10:51Z</dc:date>
  </entry>
  <entry>
    <title>Book Review Liferay Portal 6 Enterprise Intranets</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/book-review-liferay-portal-6-enterprise-intranets" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/book-review-liferay-portal-6-enterprise-intranets</id>
    <updated>2011-10-17T22:03:39Z</updated>
    <published>2010-10-02T16:08:36Z</published>
    <summary type="html">&lt;p&gt;
	My review copy of &lt;a href="http://www.amazon.com/Liferay-Portal-6-Enterprise-Intranets/dp/1849510385"&gt;Liferay Portal 6 Enterprise Intranets&lt;/a&gt; from &lt;a href="http://www.packtpub.com/"&gt;Packt Publishing&lt;/a&gt; was waiting for me at my desk in June already but haven't had time to go through it until now. Thanks again Packt for providing the opportunity to review their books.&lt;/p&gt;
&lt;p&gt;
	&lt;a href="http://www.amazon.com/Liferay-Portal-6-Enterprise-Intranets/dp/1849510385"&gt;&lt;img alt="" class="alignleft size-full wp-image-162" src="http://javaguru.fi/image/image_gallery?uuid=cb07cd90-7d7f-4b4b-b484-77d9f7ebb128&amp;amp;groupId=11031&amp;amp;t=1286528656699" style="float: left; width: 125px; height: 152px; " title="Liferay Portal 6 Enterprise Intranets" /&gt;&lt;/a&gt;&lt;strong&gt;Book details:&lt;/strong&gt;&lt;br /&gt;
	&lt;strong&gt;Publisher&lt;/strong&gt;: Packt Publishing&lt;br /&gt;
	&lt;strong&gt;Language&lt;/strong&gt;: English&lt;br /&gt;
	&lt;strong&gt;Pages&lt;/strong&gt;: 692&lt;br /&gt;
	&lt;strong&gt;Release date&lt;/strong&gt;: May 7, 2010&lt;br /&gt;
	&lt;strong&gt;ISBN&lt;/strong&gt;: 1849510385&lt;br /&gt;
	&lt;strong&gt;ISBN 13&lt;/strong&gt;: 978-1849510387&lt;br /&gt;
	&lt;strong&gt;Author&lt;/strong&gt;: Jonas X. Yuan&lt;br /&gt;
	&lt;strong&gt;Product Dimensions&lt;/strong&gt;: 9.2 x 7.5 x 1.5 inches&lt;/p&gt;
&lt;p&gt;
	This book is an updated version of Liferay Portal Enterprise Intranets which was written for Liferay Portal 5.2. The book has been reorganized and has doubled in the number of pages from the first one. This book is targeted to beginners and portal administrators. Notice the difference: Portal administrator is the person responsible of composing the portal pages where as system administrator is responsible of installing, configuring and tuning of the portal. The book introduces you to the terminologi used by Liferay portal as well as to many of the features Liferay has. Overall Jonas has done a good job with the book and it provides you a starting place to learn to use Liferay Portal.&lt;/p&gt;
&lt;p&gt;
	Now if you are looking to become a Liferay expert the fastest route there is through Liferay trainings. Liferay has great trainings that will teach you hands on to use Liferay the way it was intended.&lt;/p&gt;
&lt;p&gt;
	You might also be interested in the authors &lt;a href="http://www.liferay.com/web/jonas.yuan/blog/-/blogs/liferay-book:-liferay-portal-6-enterprise-intranets"&gt;blog post&lt;/a&gt; about the book and my previous &lt;a href="http://javaguru.fi/tag/review/"&gt;book reviews&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="175px" id="Player_c6746b6d-c5aa-48e3-bc38-e189d390e967" width="500"&gt; &lt;param name="movie" value="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Fmskdesign-20%2F8010%2Fc6746b6d-c5aa-48e3-bc38-e189d390e967&amp;amp;Operation=GetDisplayTemplate" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed align="middle" allowscriptaccess="always" bgcolor="#ffffff" height="175px" id="Player_c6746b6d-c5aa-48e3-bc38-e189d390e967" name="Player_c6746b6d-c5aa-48e3-bc38-e189d390e967" quality="high" src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Fmskdesign-20%2F8010%2Fc6746b6d-c5aa-48e3-bc38-e189d390e967&amp;amp;Operation=GetDisplayTemplate" type="application/x-shockwave-flash" width="500"&gt;&lt;/embed&gt;&lt;/object&gt; &lt;NOSCRIPT&gt;&lt;A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fmskdesign-20%2F8010%2Fc6746b6d-c5aa-48e3-bc38-e189d390e967&amp;Operation=NoScript"&gt;Amazon.com Widgets&lt;/A&gt;&lt;/NOSCRIPT&gt;&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T16:08:36Z</dc:date>
  </entry>
  <entry>
    <title>Waiting for my review copy of Liferay Portal 6 Enterprise Intranets</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/waiting-for-my-review-copy-of-liferay-portal-6-enterprise-intranets" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/waiting-for-my-review-copy-of-liferay-portal-6-enterprise-intranets</id>
    <updated>2010-10-08T09:07:01Z</updated>
    <published>2010-10-02T16:06:04Z</published>
    <summary type="html">&lt;p&gt;
	I was recently contacted by &lt;a href="http://www.packtpub.com"&gt;Packt Publishing&lt;/a&gt; if I would be interested in reviewing &lt;a href="http://www.amazon.com/Liferay-Portal-6-Enterprise-Intranets/dp/1849510385"&gt;Liferay Portal 6 Enterprise Intranets&lt;/a&gt;. Of course I say yes and now I'm eagerly waiting for my review copy to arrive any day now. Here's the details of the book if you want to get your copy.&lt;/p&gt;
&lt;p&gt;
	&lt;a href="http://www.amazon.com/Liferay-Portal-6-Enterprise-Intranets/dp/1849510385"&gt;&lt;img alt="" class="alignleft size-full wp-image-162" src="http://javaguru.fi/image/image_gallery?uuid=cb07cd90-7d7f-4b4b-b484-77d9f7ebb128&amp;amp;groupId=11031&amp;amp;t=1286528656699" style="float: left; width: 125px; height: 152px; " title="Liferay Portal 6 Enterprise Intranets" /&gt;&lt;/a&gt;&lt;strong&gt;Book details:&lt;/strong&gt;&lt;br /&gt;
	&lt;strong&gt;Publisher&lt;/strong&gt;: Packt Publishing&lt;br /&gt;
	&lt;strong&gt;Language&lt;/strong&gt;: English&lt;br /&gt;
	&lt;strong&gt;Pages&lt;/strong&gt;: 692&lt;br /&gt;
	&lt;strong&gt;Release date&lt;/strong&gt;: May 7, 2010&lt;br /&gt;
	&lt;strong&gt;ISBN&lt;/strong&gt;: 1849510385&lt;br /&gt;
	&lt;strong&gt;ISBN 13&lt;/strong&gt;: 978-1849510387&lt;br /&gt;
	&lt;strong&gt;Author&lt;/strong&gt;: Jonas X. Yuan&lt;br /&gt;
	&lt;strong&gt;Product Dimensions&lt;/strong&gt;: 9.2 x 7.5 x 1.5 inches&lt;/p&gt;
&lt;p&gt;
	&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="175px" id="Player_c6746b6d-c5aa-48e3-bc38-e189d390e967" width="500"&gt; &lt;param name="movie" value="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Fmskdesign-20%2F8010%2Fc6746b6d-c5aa-48e3-bc38-e189d390e967&amp;amp;Operation=GetDisplayTemplate" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed align="middle" allowscriptaccess="always" bgcolor="#ffffff" height="175px" id="Player_c6746b6d-c5aa-48e3-bc38-e189d390e967" name="Player_c6746b6d-c5aa-48e3-bc38-e189d390e967" quality="high" src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Fmskdesign-20%2F8010%2Fc6746b6d-c5aa-48e3-bc38-e189d390e967&amp;amp;Operation=GetDisplayTemplate" type="application/x-shockwave-flash" width="500"&gt;&lt;/embed&gt;&lt;/object&gt; &lt;NOSCRIPT&gt;&lt;A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Fmskdesign-20%2F8010%2Fc6746b6d-c5aa-48e3-bc38-e189d390e967&amp;Operation=NoScript"&gt;Amazon.com Widgets&lt;/A&gt;&lt;/NOSCRIPT&gt;&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T16:06:04Z</dc:date>
  </entry>
  <entry>
    <title>GateIn 3.0</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/gatein-3-0" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/gatein-3-0</id>
    <updated>2010-10-02T16:03:59Z</updated>
    <published>2010-10-02T16:03:01Z</published>
    <summary type="html">&lt;p&gt;The new GateIn portal was released few days ago. I’ve been following both JBoss Portal and eXo Platform for many years now. Both of them have been quite static and haven’t done much innovation on their portal products for years sure both were JSR-286 compliant. When I first heard that eXo and Jboss will be combining their forces to come out with a new portal product that would challenge the market, I was expecting something amazing and completely different. 
&lt;p&gt;
After downloading it and playing around with it for a while I was quite disappointed. So I decided to dig little deeper and go through the user guide and reference documentation. Didn’t find anything mind blowing or amazing there either. What I found nice was the existence of up to date documentation and Gadget server. 
&lt;p&gt;
I won’t start comparing GateIn with Liferay because the comparison wouldn’t be fair to GateIn. I will continue to see if will truly become a market challenger and actually do some innovation for a change.</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T16:03:01Z</dc:date>
  </entry>
  <entry>
    <title>Liferay goes LGPL with the release of Liferay Portal 6</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/liferay-goes-lgpl-with-the-release-of-liferay-portal-6" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/liferay-goes-lgpl-with-the-release-of-liferay-portal-6</id>
    <updated>2010-10-02T16:02:26Z</updated>
    <published>2010-10-02T16:02:14Z</published>
    <summary type="html">&lt;p&gt;
	Liferay CEO Bryan Cheung just &lt;a href="http://www.liferay.com/web/bryan.cheung/blog/-/blogs/liferay-adopting-the-lgpl-license"&gt;announced&lt;/a&gt; that starting from Liferay Portal 6 it will be licensed using GNU Lesser GNU Public License (LGPL) v2.1. I think this is really good idea especially for the community at large. It will facilitate the marketplace that Liferay is planning on opening for third party extensions.&lt;/p&gt;
&lt;p&gt;
	LGPL is the less restrictive of the GPL licenses you can still develop extensions to Liferay and licensing those with any license that you choose to, even proprietary but if you go and fork Liferay by modifying its internals you must provide that as LGPL. This will prevent large corporations from creating incompatible forks of Liferay. However if you need to tightly integrate your product with Liferay you can always opt to Liferay EE OEM license and thus giving Liferay resources to continue innovate on its product for everyone's benefit.&lt;/p&gt;
&lt;p&gt;
	Disclaimer: I am Liferay employee but also coming from the community I want to make sure we don't do anything that would prevent the community from thriving.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T16:02:14Z</dc:date>
  </entry>
  <entry>
    <title>A look back on year 2009</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/a-look-back-on-year-2009" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/a-look-back-on-year-2009</id>
    <updated>2010-10-02T16:01:03Z</updated>
    <published>2010-10-02T16:00:32Z</published>
    <summary type="html">&lt;p&gt;Another year has passed now looking back on 2009 it's been a really good and busy year. The major event that dominated my year was when I joined Liferay and moved to Germany to work from our German branch office. Even though my job description didn't change that much the nature of the job did. When I worked for Logica I did mostly long projects and worked long term with same clients that were mostly on the same city as I did. Now I do also work long term with some clients but I do also a lot of short term consulting and training. The major difference is that the clients are all over Europe and as a result of that according to TripIt I've travelled to 23 cities in 14 countries and had 104 travel days since April 2009. Now that does include couple holiday trips too.
&lt;p&gt;
One of the goals I had for 2009 is to be more involved in Liferay's core development. Few of the latest fruits of that are FreeMarker support for Liferay themes and web content templates as well as starting to support maven users by providing Liferay artifacts and a sdk for maven users. You read up on the maven support from my &lt;a href="http://www.liferay.com/web/mika.koivisto/blog/-/blogs/liferay-maven-sdk"&gt;Liferay.com blog&lt;/a&gt;. I haven't blogged about the FreeMarker support yet. 
&lt;p&gt;
In December I had an opportunity to attend Liferays yearly retreat in Los Angeles as well as spend couple weeks working from our LA office. I already knew that I was working for a great company but seeing it myself made me realize just how great. Liferay truly cares about people and for that we have established Liferay Foundation, a non-profit separate from the Inc. 
&lt;p&gt;
That about sums it up. I have high hopes for 2010 and I'm really exited to work here.</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T16:00:32Z</dc:date>
  </entry>
  <entry>
    <title>Good bye Logica, Hello Liferay!</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/good-bye-logica-hello-liferay!" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/good-bye-logica-hello-liferay!</id>
    <updated>2010-10-02T15:59:34Z</updated>
    <published>2010-10-02T15:59:16Z</published>
    <summary type="html">It's the end of my over seven year career at Logica and start of a new one at Liferay. It has been really great working in the Digital Media unit at Logica Finland but now new challenges awaits me as I move to Germany starting from monday when the moving truck is picking up all my possessions and start heading to Langen, Germany. On Wednesday morning (Apr 1st) I'm due to start working as Senior Consultant for Liferay GmbH. I wish all the best to all my colleagues at Logica.
&lt;p&gt;
I'll report back later on all the things involved in getting settled to Germany.</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:59:16Z</dc:date>
  </entry>
  <entry>
    <title>Logica to partner with Liferay</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/logica-to-partner-with-liferay" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/logica-to-partner-with-liferay</id>
    <updated>2010-10-08T09:09:04Z</updated>
    <published>2010-10-02T15:57:26Z</published>
    <summary type="html">&lt;p&gt;
	&lt;img align="right" alt="Logica" height="80" src="http://javaguru.fi/image/image_gallery?uuid=b6ec5a2c-eb2b-45b5-8b94-d3bb5fbf9fbd&amp;amp;groupId=11031&amp;amp;t=1286528656727" style="padding-left: 10px" title="Logica" width="160" /&gt;I'm pleased to tell you that my employer &lt;a href="http://www.logica.fi"&gt;Logica Finland&lt;/a&gt; has become &lt;a href="http://www.liferay.com/web/guest/partners/services"&gt;Liferay Service Partner&lt;/a&gt;. This is really important to me since I'm the one that has been pushing Liferay as our preferred portal. This is also good news to Logica customers since now they can buy Liferay support and services from Logica.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:57:26Z</dc:date>
  </entry>
  <entry>
    <title>What's new in Liferay Portal 5.2?</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/what-s-new-in-liferay-portal-5-2" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/what-s-new-in-liferay-portal-5-2</id>
    <updated>2010-10-02T15:56:15Z</updated>
    <published>2010-10-02T15:54:39Z</published>
    <summary type="html">&lt;p&gt;
	Liferay Portal 5.2 is should be out any day now. It's been a while since I've been so excited about a new release so I thought I'd share it with you. There are a lot of improvements both under covers and in the UI. If you are looking for the complete list of changes in the JIRA you need too take a look at both &lt;a href="http://issues.liferay.com/secure/ReleaseNote.jspa?projectId=10952&amp;amp;styleName=Html&amp;amp;version=10344"&gt;Liferay Portal Standard Edition&lt;/a&gt; and the &lt;a href="http://issues.liferay.com/secure/ReleaseNote.jspa?projectId=10014&amp;amp;styleName=Html&amp;amp;version=10311"&gt;Old Liferay Porta&lt;/a&gt;l project since division to standard edition and enterprise edition.&lt;/p&gt;
&lt;h3&gt;
	Control Panel&lt;/h3&gt;
&lt;p&gt;
	Control Panel is a unified place to administrate your portal. No more need for creating your own admin pages every time you setup a new portal. You can manage content (web content, blogs, polls etc.), users, communities and everything else from a single place. You can even add your own custom portlets to it. See &lt;a href="http://www.liferay.com/web/jferrer/blog/-/blogs/1791601"&gt;Jorge's post&lt;/a&gt; for screenshots and more information.&lt;/p&gt;
&lt;h3&gt;
	Data Scoping Framework&lt;/h3&gt;
&lt;p&gt;
	Now you can have more than one message board, blog or wiki per community. This feature is also available for custom portlets.&lt;/p&gt;
&lt;h3&gt;
	API improvements&lt;/h3&gt;
&lt;p&gt;
	Eduardo made a nice JavaScript api for creating portlet urls. See &lt;a href="http://www.liferay.com/web/elundgren/blog/-/blogs/liferay-portleturl-in-javascript"&gt;Eduardo's post&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;
	Service API now takes ServiceContext as a parameter. This makes the apis much cleaner and in the future the don't change as much since ServiceContext holds all context related info. You don't even need to worry about instantiating ServiceContext yourself since there is a ServiceContextFactory to extract that information from the request.&lt;/p&gt;
&lt;h3&gt;
	Performance Improvements&lt;/h3&gt;
&lt;p&gt;
	Mike added a possibility for Read-Write database splitting allowing you to scale your database with a master-slave setup. Very nice work Mike! See details from &lt;a href="http://www.liferay.com/web/myoung/blog/-/blogs/liferay-read-write-database-splitting"&gt;Mike's post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	Eduardo and Brian did some nice improvements to speed up the front-end:&lt;br /&gt;
	- CSS Sprites&lt;br /&gt;
	- Caching strip and compress filters&lt;br /&gt;
	- Moved scripts to footer&lt;br /&gt;
	- Far future expires to static resources&lt;/p&gt;
&lt;p&gt;
	See &lt;a href="http://www.liferay.com/web/elundgren/blog/-/blogs/best-practices-for-speeding-up-liferay"&gt;Eduardo's post&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;
	Terracotta DSO support enables you to cluster caches with Terracotta.&lt;/p&gt;
&lt;p&gt;
	Ray made some &lt;a href="http://www.liferay.com/web/rauge/blog/-/blogs/velocity-improvements"&gt;Velocity optimizations&lt;/a&gt;. I can't wait to run some benchmarks for the final release.&lt;/p&gt;
&lt;h3&gt;
	Custom Attributes&lt;/h3&gt;
&lt;p&gt;
	The Expando stuff has been around for a while now (since 5.0.1). Custom Attributes leverage that framework to provide you a way to extend the portal objects such as User or Organization. The framework allows you to add custom attributes to any entity created with ServiceBuilder.&lt;/p&gt;
&lt;h3&gt;
	Taxonomies&lt;/h3&gt;
&lt;p&gt;
	Taxonomies or categories framework allows you to add categorization support to custom portlets. Journal, Wiki and Knowledge base was enhanced with categorization support. There is also a category navigation portlet that allows you to filter content based on category.&lt;/p&gt;
&lt;h3&gt;
	Developer Enhancements&lt;/h3&gt;
&lt;p&gt;
	Previously Liferay has been in developer mode by default but that has caused some confusion and many production sites are running in development mode. Now the default mode is production mode and turning development mode on has been made really easy. See &lt;a href="http://www.liferay.com/community/wiki/-/wiki/Main/Liferay+Developer+Mode"&gt;Liferay Wiki&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;
	Previously CSS and JavaScripts where combined in compile time now that has been deferred to deploy time. This makes it easier to make quick fixes to production and just touch the web.xml to reload the changes.&lt;/p&gt;
&lt;h3&gt;
	Content Management&lt;/h3&gt;
&lt;p&gt;
	With this release Journal has been renamed as Web Content to describe it better. You can now export content as pdf, doc, txt and rtf through OpenOffice integration. And speaking about office integration Liferay can now act as a SharePoint Server with the SharePoint protocol support.&lt;/p&gt;
&lt;p&gt;
	Overall a really good release containing a solid base for future enhancements. As you might know Liferay is never finished there is always something to improve and by doing it incrementally Liferay is always head of the competition. I recently read a review about Liferay vs. Jboss Portal and some of the comments by JBoss developers were that JBoss is a framework for you to build your portal the way you want. Well I think of Liferay the same way except that Liferay provides you a heck of lot more usable functionality in form of portlets and APIs than JBoss does.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:54:39Z</dc:date>
  </entry>
  <entry>
    <title>Liferay Portal Enterprise Edition is out now</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/liferay-portal-enterprise-edition-is-out-now" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/liferay-portal-enterprise-edition-is-out-now</id>
    <updated>2010-10-02T15:52:32Z</updated>
    <published>2010-10-02T15:51:22Z</published>
    <summary type="html">&lt;p&gt;Not so long ago Liferay announced that they would be releasing a commercially licensed Liferay Portal. The very first EE version was published yesterday. It's version number is 5.1.3 i.e. it is a direct successor of Liferay Portal SE 5.1.2. The  next SE version will be the soon to be released 5.2.0.
&lt;p&gt;
So what's the difference between SE and EE? &lt;br/&gt;
- SE is licensed as MIT and EE is a commercial license. &lt;br/&gt;
- EE is a matured SE as you can see from the version number. It is a hardened and stabilized version. &lt;br/&gt;
- EE is supported beyond next major release and continues to get bug fixes long after SE versions bug fix releases are discontinued. &lt;br/&gt;
&lt;p&gt;
Why should I pay for EE when I get SE for free?&lt;br/&gt;
- You'll get a stable version that has all the infant symptoms of a SE version weeded out.&lt;br/&gt;
- You'll get peace of mind knowing that you won't need to upgrade in the mid way of project because your version won't get fixes any more since a newer major SE version was release.&lt;br/&gt;
- You'll get backported performance fixes you'd otherwise have to do yourself or upgrade to a newer version.
&lt;p&gt;
As a software architect I have to recommend buying the EE version. With a year's basic EE subscription you'll save a lot of aspirin and money. 
&lt;p&gt;
Read the Liferay &lt;a href="http://www.liferay.com/web/guest/news/latest/-/blogs/1939939"&gt;press release&lt;/a&gt;.</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:51:22Z</dc:date>
  </entry>
  <entry>
    <title>Liferay Social Office beta is available now</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/liferay-social-office-beta-is-available-now" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/liferay-social-office-beta-is-available-now</id>
    <updated>2010-10-02T15:48:53Z</updated>
    <published>2010-10-02T15:48:14Z</published>
    <summary type="html">&lt;p&gt;Last weekend I noticed that Liferay had uploaded the first beta version of Social Office to SourceForge and of course I had to test drive it. It looks really good and quite easy to use. This really shows how solid base Liferay is for creating different kinds of applications and that's what Social Office is an application. Social Office is built on upcoming Liferay Portal 5.2 using mostly features that are in the portal but using them in a easy to use social collaboration context. 
&lt;p&gt;
One of the features I found it lacking is restricted sites. Now all the sites are public in the sense that anyone can access them.  Having used MOSS for document management and collaboration they many times need to be able to create also restricted workspaces that are used to for collaboration with a smaller more restricted team. One such example could be the PR department of a publicly listed company preparing a press release. It would be a catastrophe if someone other than the company insiders could access that information before it is released to general public. 
&lt;p&gt;
All in all really good job guys. I think there is a lot of potential for Social Office and I there is already a lot of interest from some of the organizations I work with.
&lt;p&gt;
Bryan wrote yesterday a good &lt;a href="http://www.liferay.com/web/bcheung/blog/-/blogs/introducing-social-office"&gt;post&lt;/a&gt; about the features so I won't go over them instead I recommend you read it. You can also &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=49260&amp;package_id=300610"&gt;download&lt;/a&gt; it yourself if you want to play with it.</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:48:14Z</dc:date>
  </entry>
  <entry>
    <title>Running Rails apps as a JSR-286 portlet</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/running-rails-apps-as-a-jsr-286-portlet" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/running-rails-apps-as-a-jsr-286-portlet</id>
    <updated>2010-10-02T15:50:16Z</updated>
    <published>2010-10-02T15:49:59Z</published>
    <summary type="html">I recently run into this project that allows you to run your Rails app as a JSR-286 portlet. The reference portal is ofcourse Liferay. As you might be aware Liferay can run portlets written in other languages than just Java. Liferay supports scripting languages such as PHP, Ruby and Groovy. Read more about &lt;a href="http://rails-portlet.rubyforge.org/"&gt;rails portlet&lt;/a&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:49:59Z</dc:date>
  </entry>
  <entry>
    <title>Liferay European Symposium 2008 Day 2 report</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/liferay-european-symposium-2008-day-2-report" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/liferay-european-symposium-2008-day-2-report</id>
    <updated>2010-10-02T15:47:04Z</updated>
    <published>2010-10-02T15:46:17Z</published>
    <summary type="html">I was yesterday way too tired to write a report but here it comes. Yesterday had also some interesting talks but also one quite boring one. 
&lt;p&gt;
The most interesting ones where Michael Han's talk about Liferay performace tuning and benchmarks. Liferay has setup a performance testing environment that is quite realistic for production. They will be running benchmarks for following real world scenarios: 
&lt;ul&gt;
	&lt;li&gt;Content intensive site&lt;/li&gt;
	&lt;li&gt;Social network and collaboration&lt;/li&gt;
	&lt;li&gt;Integration portal&lt;/li&gt;
&lt;/ul&gt;
Michael also &lt;a href="http://www.liferay.com/web/mhan/blog/-/blogs/portal-performance-benchmarking"&gt;blogged&lt;/a&gt; about that so go check it for more detailed specs on the env.
&lt;p&gt;
Suresh Shamanna and Brian Chan showed off how to you Liferays staging and publishing workflow as well as remote publishing features. They are really cool. The only thing it's missing is the ability to create remote publishing configurations that you can just go hit publish. Easy publishing to multiple locations. It's currently too technical for our customers to use.
&lt;p&gt;
At the end of the day Bryan and Brian showed that Social Office is more than just slide ware by demoing it. It really looked cool and the best thing is that you can use it directly for Microsoft Office since it talks Sharepoint protocol. The Sharepoint protocol addition should be part of the portal and if I understood correctly they are also releasing Social Office under GPL. 
&lt;p&gt;
All in all very successful symposium. Great work guys especially Suresh and his team for making it happen. Also thanks for having me over dinner after the symposium it was great meeting you all of you in person.</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:46:17Z</dc:date>
  </entry>
  <entry>
    <title>Liferay European Symposium 2008 Day 1 report</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/liferay-european-symposium-2008-day-1-report" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/liferay-european-symposium-2008-day-1-report</id>
    <updated>2010-10-02T15:45:08Z</updated>
    <published>2010-10-02T15:44:13Z</published>
    <summary type="html">&lt;p&gt;
	Thought I'd write a quite report of todays talks to those that weren't able to attend Liferay European Symposium in Frankfurt. Both Brian Chan and Bryan Cheung talked about Liferays philosophy of giving. They both showed interesting things that you can do with the upcoming Liferay 5.2. Brian show a climps of a new Liferay product called Social Office. It is basically is a Liferay portal that provides a lot of the same features as Sharepoint including Sharepoint protocol support.&lt;/p&gt;
&lt;p&gt;
	Bryan showed what they have done with &lt;a href="http://www.ifad.org"&gt;IFAD&lt;/a&gt; (International Fund for Agricultural Development) and their &lt;a href="http://www.ruralpovertyportal.org"&gt;Rural Poverty Portal&lt;/a&gt;. What they have done their is use and extend the Liferay tagging system and JSR-286 support by creating tagging aware portlets both custom ones and Liferay ones that should be available in later releases. The most interesting thing was the tag aware navigation and asset publisher.&lt;/p&gt;
&lt;p&gt;
	Jorge Ferrer gave a really good presentation on JSR-286 and gave some background why things like page to page linking will never be in the portlet spec. The portlet spec only describes the container where the portlets are run and not the portal itself. There should be a punch of other specs for different aspects of the portal. Hopefully well see those someday.&lt;/p&gt;
&lt;p&gt;
	Brian Kim announced that Liferay will create a commercial Enterprise version. Now before you start worrying too much about it I must tell you that it WON'T follow the Alfresco model. Basically nothing changes except companies that NEED long support over releases will get it if they buy an enterprise version subscription. Also enterprise version release cycle will be a bit slower than community version. Community version will be released about every 4 months where as enterprise will be every 8 months. Each enterprise version will be supported for about 4 years so you will get bug fixes backported to your version as long as you pay the enterprise subscription. Community versions will be only supported until the next major version is released as it is currently. They also told that there won't be any enterprise only features but there might be some Liferay products like the Social Office that is available to paying customers only.&lt;/p&gt;
&lt;p&gt;
	Nate gave a really good speech about usability and user interaction and how patterns help create more usable and maintainable software.&lt;/p&gt;
&lt;p&gt;
	There was also two Liferay customers BMW and HanseMerkur talking about what they are doing with Liferay. The day ended with free beer and games. Yes you read it right FREE beer.&lt;/p&gt;
&lt;p&gt;
	I've taken some pictures during the symposium and will post the in &lt;a href="http://www.flickr.com/photos/30670896@N07/sets/72157607451216843/"&gt;Flickr&lt;/a&gt;.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:44:13Z</dc:date>
  </entry>
  <entry>
    <title>Liferay European Symposium 2008</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/liferay-european-symposium-2008" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/liferay-european-symposium-2008</id>
    <updated>2010-10-02T15:43:07Z</updated>
    <published>2010-10-02T15:42:39Z</published>
    <summary type="html">&lt;p&gt;
	Haven't been blogging for a while so I thought I'd write a quite post about Liferay European Symposium. If you've missed it you still have time to register. It's in Frankfurt, Germany from September 23rd to 24th. The agenda and featured speakers were announced today. Some of the speakers will include Brian Chan, Jorge Ferrer, Bryan Cheung, Nate Cavanaugh and Paul Bakaus so all in all it should be interesting.&lt;/p&gt;
&lt;p&gt;
	I couldn't attend the LA meetup but thankfully I'll be able to attend this event so if you want to meetup for bear or what ever just drop me a note.&lt;/p&gt;
&lt;p&gt;
	Details for the event from &lt;a href="http://www.liferay.com/web/guest/about_us/events/liferayeu_2008"&gt;Liferay's site&lt;/a&gt;.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:42:39Z</dc:date>
  </entry>
  <entry>
    <title>Book review: Liferay Portal Enterprise Intranets</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/book-review:-liferay-portal-enterprise-intranets" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/book-review:-liferay-portal-enterprise-intranets</id>
    <updated>2010-10-08T09:09:53Z</updated>
    <published>2010-10-02T15:40:30Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://javaguru.fi/wp-content/uploads/2008/06/packt_liferay_portal_enterprise_intranets_cover.jpg"&gt;&lt;img align="left" alt="Packt Liferay Portal Enterprise Intranets" class="alignleft size-medium wp-image-56" height="300" src="http://javaguru.fi/image/image_gallery?uuid=70f9eff4-86f1-47b6-928c-af9d22be718f&amp;groupId=11031&amp;t=1286528656756" title="Packt Liferay Portal Enterprise Intranets cover" width="243" /&gt;&lt;/a&gt; I got a little while ago &lt;a href="http://www.packtpub.com/building-liferay-portal-enterprise-intranets/book"&gt;Liferay Portal Enterprise Intranets&lt;/a&gt; book review copy courtesy of &lt;a href="http://www.packtpub.com/"&gt;Packt Publishing&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Book details:&lt;/strong&gt;&lt;br /&gt;
	&lt;strong&gt;Publisher&lt;/strong&gt;: Packt Publishing&lt;br /&gt;
	&lt;strong&gt;Language&lt;/strong&gt;: English&lt;br /&gt;
	&lt;strong&gt;Pages&lt;/strong&gt;: 336&lt;br /&gt;
	&lt;strong&gt;Release date&lt;/strong&gt;: April 2008&lt;br /&gt;
	&lt;strong&gt;ISBN&lt;/strong&gt;: 1847192726&lt;br /&gt;
	&lt;strong&gt;ISBN 13&lt;/strong&gt;: 978-1-847192-72-1&lt;br /&gt;
	&lt;strong&gt;Author&lt;/strong&gt;: Jonas X. Yuan&lt;/p&gt;
&lt;p&gt;
	The book is targeted to Liferay beginners and "Do-It-Yourselfers" who want to develop a simple but powerful corporate intranet. The book goes thought how to install Liferay and use it's built in portlets quite well. After reading this book you should be able to install Liferay, manage pages, users, groups and roles, create discussion forums and use the Liferay Journal, document library and image gallery for your basic content management needs.&lt;/p&gt;
&lt;p&gt;
	I can recommend this book to anyone who want's to learn how to use Liferay and it's built in portlets. It might also be good reference to administrators on how to do basic tasks in Liferay. It doesn't though offer much to developers already familiar with Liferay but then again that's not it's target audience.&lt;/p&gt;
&lt;p&gt;
	Please be free to give feedback and suggestions since this is my first book review. Also give your opinions on the book if you've read it.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:40:30Z</dc:date>
  </entry>
  <entry>
    <title>Configuring ActiveMQ 5 jms topic in Tomcat 6</title>
    <link rel="alternate" href="http://javaguru.fi/blog/-/blogs/configuring-activemq-5-jms-topic-in-tomcat-6" />
    <author>
      <name>Mika Koivisto</name>
    </author>
    <id>http://javaguru.fi/blog/-/blogs/configuring-activemq-5-jms-topic-in-tomcat-6</id>
    <updated>2010-10-02T15:38:19Z</updated>
    <published>2010-10-02T15:35:17Z</published>
    <summary type="html">&lt;p&gt;
	For some reason it is quite difficult to find a clear instruction on howto configure ActiveMQ jms topic in tomcat as a JNDI reference and the consume message from it into message driven pojo. I chose to use ActiveMQ 5 since it requires less dependent libraries to run than previous versions.&lt;/p&gt;
&lt;p&gt;
	Start by downloading ActiveMQ 5.0.0 from &lt;a href="http://activemq.apache.org/download.html"&gt;Apache ActiveMQ site&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You need following jars to be located under CATALINA_HOME/lib:&lt;br /&gt;
	- activemq-core-5.0.0.jar&lt;br /&gt;
	- commons-logging-1.1.jar&lt;br /&gt;
	- geronimo-j2ee-management_1.0_spec-1.0.jar (or another jar that has javax.management apis)&lt;br /&gt;
	- geronimo-jms_1.1_spec-1.0.jar (or another jar that has javax.jms apis)&lt;br /&gt;
	- geronimo-jta_1.0.1B_spec-1.0.jar (or another jar that has javax.transaction apis)&lt;/p&gt;
&lt;p&gt;
	You can find above libraries from ACTIVEMQ_HOME/lib&lt;/p&gt;
&lt;p&gt;
	That configure the topic and connection factory to CATALINA_HOME/conf/server.xml&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;&amp;lt;Resource 
	name="jms/ConnectionFactory" 
	auth="Container" 
	type="org.apache.activemq.ActiveMQConnectionFactory" 
	description="JMS Connection Factory"
	factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
	brokerURL="vm://localhost" brokerName="LocalActiveMQBroker"/&amp;gt;

&amp;lt;Resource 
	name="jms/SampleTopic" 
	auth="Container" 
	type="org.apache.activemq.command.ActiveMQTopic" 
	description="my Topic"
	factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
	physicalName="SAMPLE.TOPIC"/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
	Then you need to add resource-link to either CATALINA_HOME/conf/context.xml or webapps META-INF/context.xml&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;&amp;lt;Context&amp;gt;
....
	&amp;lt;ResourceLink global="jms/ConnectionFactory" name="jms/ConnectionFactory" type="javax.jms.ConnectionFactory"/&amp;gt;
	&amp;lt;ResourceLink global="jms/SampleTopic" name="jms/SampleTopic" type="javax.jms.Topic"/&amp;gt;
&amp;lt;/context&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
	You also need to add a resource-ref to your webapps web.xml&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;&amp;lt;resource-ref&amp;gt;
	&amp;lt;res-ref-name&amp;gt;jms/ConnectionFactory&amp;lt;/res-ref-name&amp;gt;
	&amp;lt;res-type&amp;gt;javax.jms.ConnectionFactory&amp;lt;/res-type&amp;gt;
	&amp;lt;res-auth&amp;gt;Container&amp;lt;/res-auth&amp;gt;
	&amp;lt;res-sharing-scope&amp;gt;Shareable&amp;lt;/res-sharing-scope&amp;gt;
&amp;lt;/resource-ref&amp;gt;	
&amp;lt;resource-ref&amp;gt;
	&amp;lt;res-ref-name&amp;gt;jms/SampleTopic&amp;lt;/res-ref-name&amp;gt;
	&amp;lt;res-type&amp;gt;javax.jms.Topic&amp;lt;/res-type&amp;gt;
	&amp;lt;res-auth&amp;gt;Container&amp;lt;/res-auth&amp;gt;
	&amp;lt;res-sharing-scope&amp;gt;Shareable&amp;lt;/res-sharing-scope&amp;gt;
&amp;lt;/resource-ref&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
	Then configure message driven pojo with spring. You should notice that this is really a pojo that does not know anything about jms.&lt;/p&gt;
&lt;p&gt;
	 &lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;package fi.javaguru.mdp;

public class SamplePojo {

    public void doSomething(final String msg) {

        System.out.println("Got message: " + msg);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
	Spring configuration for consuming messages&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;&amp;lt;beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"&amp;gt;

    &amp;lt;jee:jndi-lookup id="jmsConnectionFactory" jndi-name="jms/ConnectionFactory" resource-ref="true"/&amp;gt;
    &amp;lt;jee:jndi-lookup id="jmsTopic" jndi-name="jms/SampleTopic"
		resource-ref="true" proxy-interface="javax.jms.Topic"/&amp;gt;

    &amp;lt;bean id="pojo" class="fi.javaguru.mdp.SamplePojo" /&amp;gt;
	
    &amp;lt;bean id="listener" class="org.springframework.jms.listener.adapter.MessageListenerAdapter"&amp;gt;
        &amp;lt;property name="delegate" ref="pojo"/&amp;gt;
        &amp;lt;property name="defaultListenerMethod" value="doSomething"/&amp;gt;
    &amp;lt;/bean&amp;gt;

    &amp;lt;bean id="container" class="org.springframework.jms.listener.SimpleMessageListenerContainer"&amp;gt;
        &amp;lt;property name="connectionFactory" ref="jmsConnectionFactory"/&amp;gt;
        &amp;lt;property name="messageListener" ref="listener"/&amp;gt;
        &amp;lt;property name="destination" ref="jmsTopic"/&amp;gt;
    &amp;lt;/bean&amp;gt;

&amp;lt;/beans&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
	This sample assumes you are sending String messages to the topic. You could also send other objects as long as the consumer knows about those objects. Thats it for now. I will write another post later that will continue this sample with producing messages to a topic.&lt;/p&gt;</summary>
    <dc:creator>Mika Koivisto</dc:creator>
    <dc:date>2010-10-02T15:35:17Z</dc:date>
  </entry>
</feed>


