<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<book xmlns:xi="http://www.w3.org/2001/XInclude">
  <bookinfo>
    <title>Eclipse Gemini Blueprint</title>
    <subtitle>Known Issues</subtitle>
    <releaseinfo>&version;</releaseinfo>

    <authorgroup>
      <author>
        <firstname>Costin</firstname>
        <surname>Leau</surname>
      <affiliation>SpringSource, division of VMware</affiliation>        
      </author>
    </authorgroup>

    <legalnotice>
      <para>Documentation made available under the terms of the Eclipse Public License v1.0 
      and Apache License v2.0 which accompanies this distribution. 
      The Eclipse Public License is available at <ulink url="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</ulink> and 
      the Apache License v2.0 is available at <ulink url="http://www.opensource.org/licenses/apache2.0.php">http://www.opensource.org/licenses/apache2.0.php</ulink>.
      You may elect to redistribute this code under either of these licenses.</para>
    </legalnotice>
    
    <copyright>
      <year>2006 -</year>
      <year>2011</year>
      <holder>VMware Inc.</holder>
      <holder>Oracle Inc.</holder>
    </copyright>

  </bookinfo>

  <toc />

  <preface id="preface">
	<title>Preface</title>
	<para>
	  This document describes known issues (and possible work-arounds). Each issue mentions the section of the reference
	  documentation that explain the behaviour along with the associated
	  <ulink url="https://bugs.eclipse.org/bugs/buglist.cgiproduct=Gemini.Blueprint">Bugzilla</ulink> entry which
	  provides an estimate on when it will be solved.
	  As a rule, the next Gemini Blueprint release aims to solve most, if not all of them.
	</para>
  </preface>
  
  <chapter id="known-issues">
    <title>Known Issues</title>

	<para>As a side note, it worth pointing out that the issues below are not really bugs but rather improvements.</para>		

	<section id="OSGI-237">
      <title>Publishing prototypes as OSGi services</title>
      	<para>Due to the way OSGi platform deals with OSGi services (it caches the instance and returns it every time), prototypes are not fully supported.
      	Spring DM publishes a proxy that on each call, delegates back to the target application context for retrieving the instance. While with other beans
      	this works, in case of prototypes, this results in one-instance-per-invocation which is incorrect. Additional functionality needs to be added
      	to fully support prototypes even though, as pointed out, this involves a knowledge between Client/Server regarding the publication contract.</para>
      	<para>See <ulink url="http://jira.springframework.org/browse/OSGI-237">OSGI-237</ulink></para> 
	</section>	

  </chapter>
</book>
