<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-2735</id>
	<title>Nabble - NanoContainer - PicoContainer</title>
	<updated>2008-10-09T09:58:34Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/NanoContainer---PicoContainer-f2735.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NanoContainer---PicoContainer-f2735.html" />
	<subtitle type="html">Components from the NanoContainer project supplement PicoContainer, and gives it more capability. These can either be adaptions in various guises that give a by-class-name rather than by-class capability for composition, or adaptations to external components bringing them closer to the Dependency Injection (particularly CDI) ideal. NanoContainer - PicoContainer home is &lt;a href=&quot;http://www.nanocontainer.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-19903111</id>
	<title>Re: [picocontainer-scm]  [4925] java/2.x/trunk/web/web-core/src/java/org/picocontainer/web: add ability to source sess/req deps dynamically</title>
	<published>2008-10-09T09:58:34Z</published>
	<updated>2008-10-09T09:58:34Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">Paul,
&lt;br&gt;&lt;br&gt;we should be tracking any enhancements or new features via Jira issues. 
&lt;br&gt;&amp;nbsp; &amp;nbsp;Makes it easier when we make release.
&lt;br&gt;&lt;br&gt;Do you agree?
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19903111&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Revision
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 4925 &amp;lt;&lt;a href=&quot;http://fisheye.codehaus.org/changelog/picocontainer/?cs=4925&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fisheye.codehaus.org/changelog/picocontainer/?cs=4925&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Author
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; paul
&lt;br&gt;&amp;gt; Date
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 2008-10-08 10:18:36 -0500 (Wed, 08 Oct 2008)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; Log Message
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; add ability to source sess/req deps dynamically
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; Modified Paths
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * java/2.x/trunk/web/examples/struts2-webapp/src/java/org/picocontainer/web/sample/struts2/AddCheese.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;#java2xtrunkwebexamplesstruts2webappsrcjavaorgpicocontainerwebsamplestruts2AddCheesejava&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * java/2.x/trunk/web/examples/struts2-webapp/src/main/webapp/WEB-INF/web.xml
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;#java2xtrunkwebexamplesstruts2webappsrcmainwebappWEBINFwebxml&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * java/2.x/trunk/web/web-core/src/java/org/picocontainer/web/PicoServletContainerFilter.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;#java2xtrunkwebwebcoresrcjavaorgpicocontainerwebPicoServletContainerFilterjava&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; Added Paths
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * java/2.x/trunk/web/examples/struts2-webapp/src/java/org/picocontainer/web/sample/struts2/Struts2ExampleServletFilter.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;#java2xtrunkwebexamplesstruts2webappsrcjavaorgpicocontainerwebsamplestruts2Struts2ExampleServletFilterjava&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; * java/2.x/trunk/web/examples/webapp-common/src/java/org/picocontainer/web/sample/service/Brand.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;#java2xtrunkwebexampleswebappcommonsrcjavaorgpicocontainerwebsampleserviceBrandjava&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; Diff
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Modified:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; java/2.x/trunk/web/examples/struts2-webapp/src/java/org/picocontainer/web/sample/struts2/AddCheese.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (4924 =&amp;gt; 4925)
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--picocontainer-scm----4925--java-2.x-trunk-web-web-core-src-java-org-picocontainer-web%3A-add-ability-to-source-sess-req-deps-dynamically-tp19903111p19903111.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19888145</id>
	<title>Re: Re: Fun with tomcat and pico</title>
	<published>2008-10-08T14:39:39Z</published>
	<updated>2008-10-08T14:39:39Z</updated>
	<author>
		<name>Nick Drew-3</name>
	</author>
	<content type="html">I've sent Paul a bunch of stuff for now.
&lt;br&gt;&lt;br&gt;Regarding the Restlet example - it's actually very similar to the &amp;nbsp;
&lt;br&gt;servlet example, in that restlet is running as a servlet, so we have &amp;nbsp;
&lt;br&gt;the same filters, etc.
&lt;br&gt;&lt;br&gt;If there's any call to use restlet's builtin server, then we'd need to &amp;nbsp;
&lt;br&gt;write a different Finder class - that's all.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;On 09/10/2008, at 7:28 AM, Mauro Talevi wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Paul Hammant wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hey Mauro, &amp;nbsp;sorry for not saying but I'm helping Nick off the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; list :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No probs, but it would still be useful to have a restlet example.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fun-with-tomcat-and-pico-tp19872303p19888145.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19887038</id>
	<title>Re: Fun with tomcat and pico</title>
	<published>2008-10-08T13:28:41Z</published>
	<updated>2008-10-08T13:28:41Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">Paul Hammant wrote:
&lt;br&gt;&amp;gt; Hey Mauro, &amp;nbsp;sorry for not saying but I'm helping Nick off the list :-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;No probs, but it would still be useful to have a restlet example.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fun-with-tomcat-and-pico-tp19872303p19887038.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19886184</id>
	<title>Re: Re: Fun with tomcat and pico</title>
	<published>2008-10-08T12:46:12Z</published>
	<updated>2008-10-08T12:46:12Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Hey Mauro, &amp;nbsp;sorry for not saying but I'm helping Nick off the list :-)
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Oct 8, 2008, at 11:59 AM, Mauro Talevi wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Nick Drew wrote:
&lt;br&gt;&amp;gt;&amp;gt; 2 Issues I've discovered playing with pico today:
&lt;br&gt;&amp;gt;&amp;gt; Pico 2.5
&lt;br&gt;&amp;gt;&amp;gt; Pico web 2.0.1
&lt;br&gt;&amp;gt;&amp;gt; Tomcat 5.5.27
&lt;br&gt;&amp;gt;&amp;gt; I'm using Reslet 1.1 so can't borrow behaviour from webwork or &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; struts.
&lt;br&gt;&amp;gt;&amp;gt; We're using the WebComposer pattern
&lt;br&gt;&amp;gt;&amp;gt; I've overridden the base Pico servlet listener to do some static &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; initialisation not possible in the composer, but I don;t think this &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; has any effect.
&lt;br&gt;&amp;gt;&amp;gt; First issue:
&lt;br&gt;&amp;gt;&amp;gt; 008-10-08 12:58:21,974 [main] ERROR &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ 
&lt;br&gt;&amp;gt;&amp;gt; SunCentral-portal-web-1.0.0] - Exception sending context destroyed &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; event to listener instance
&lt;br&gt;&amp;gt;&amp;gt; of class portal.PortalListener
&lt;br&gt;&amp;gt;&amp;gt; java.lang.IllegalStateException: Cannot stop. &amp;nbsp;Current container &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; state was: CONSTRUCTED
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .picocontainer 
&lt;br&gt;&amp;gt;&amp;gt; .lifecycle 
&lt;br&gt;&amp;gt;&amp;gt; .DefaultLifecycleState.stopping(DefaultLifecycleState.java: 
&lt;br&gt;&amp;gt;&amp;gt; 62) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .picocontainer.DefaultPicoContainer.stop(DefaultPicoContainer.java: 
&lt;br&gt;&amp;gt;&amp;gt; 658)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.picocontainer.web.PicoServletContainerListener.contextDestroyed 
&lt;br&gt;&amp;gt;&amp;gt; (PicoServletContainerListener.java:190) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina.core.StandardContext.listenerStop(StandardContext.java: 
&lt;br&gt;&amp;gt;&amp;gt; 3805) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.StandardContext.stop(StandardContext.java: 
&lt;br&gt;&amp;gt;&amp;gt; 4364)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.StandardContext.start(StandardContext.java: 
&lt;br&gt;&amp;gt;&amp;gt; 4246)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 
&lt;br&gt;&amp;gt;&amp;gt; 760) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 
&lt;br&gt;&amp;gt;&amp;gt; 740)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java: 
&lt;br&gt;&amp;gt;&amp;gt; 720)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java: 
&lt;br&gt;&amp;gt;&amp;gt; 490)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 
&lt;br&gt;&amp;gt;&amp;gt; 311)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina 
&lt;br&gt;&amp;gt;&amp;gt; .util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java: 
&lt;br&gt;&amp;gt;&amp;gt; 120) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.StandardEngine.start(StandardEngine.java: 
&lt;br&gt;&amp;gt;&amp;gt; 443)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.StandardService.start(StandardService.java: 
&lt;br&gt;&amp;gt;&amp;gt; 448)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.StandardServer.start(StandardServer.java: 
&lt;br&gt;&amp;gt;&amp;gt; 700)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.catalina.startup.Catalina.start(Catalina.java: 
&lt;br&gt;&amp;gt;&amp;gt; 552)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; sun 
&lt;br&gt;&amp;gt;&amp;gt; .reflect 
&lt;br&gt;&amp;gt;&amp;gt; .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 
&lt;br&gt;&amp;gt;&amp;gt; 39) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; sun 
&lt;br&gt;&amp;gt;&amp;gt; .reflect 
&lt;br&gt;&amp;gt;&amp;gt; .DelegatingMethodAccessorImpl 
&lt;br&gt;&amp;gt;&amp;gt; .invoke(DelegatingMethodAccessorImpl.java:25) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; java.lang.reflect.Method.invoke(Method.java:585)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java: 
&lt;br&gt;&amp;gt;&amp;gt; 433)
&lt;br&gt;&amp;gt;&amp;gt; Second issue:
&lt;br&gt;&amp;gt;&amp;gt; We want to put a instance at thread local with a POJO copy of the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; user's credentials
&lt;br&gt;&amp;gt;&amp;gt; e.g.
&lt;br&gt;&amp;gt;&amp;gt; doFilter( request &amp;nbsp;){
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; getRequestContainer().addComponent( getUserCredentialsFrom(request) )
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt; this works fine on the first thread, but not on the second:
&lt;br&gt;&amp;gt;&amp;gt; 2008-10-08 15:34:34,978 [http-8080-Processor24] ERROR &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ 
&lt;br&gt;&amp;gt;&amp;gt; SunCentral-portal-web-1.0.0].[RestletServlet] - Servlet.service() &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; for servlet
&lt;br&gt;&amp;gt;&amp;gt; RestletServlet threw exception
&lt;br&gt;&amp;gt;&amp;gt; org.picocontainer.PicoCompositionException: Duplicate Keys not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; allowed. Duplicate for 'class portal.UserCredentials'
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .picocontainer 
&lt;br&gt;&amp;gt;&amp;gt; .DefaultPicoContainer.addAdapterInternal(DefaultPicoContainer.java: 
&lt;br&gt;&amp;gt;&amp;gt; 350) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .picocontainer 
&lt;br&gt;&amp;gt;&amp;gt; .DefaultPicoContainer.addAdapter(DefaultPicoContainer.java: 
&lt;br&gt;&amp;gt;&amp;gt; 370) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .picocontainer 
&lt;br&gt;&amp;gt;&amp;gt; .DefaultPicoContainer.addAdapter(DefaultPicoContainer.java: 
&lt;br&gt;&amp;gt;&amp;gt; 363) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; portal.CredentialsInjector.inject(CredentialsInjector.java:18)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; portal 
&lt;br&gt;&amp;gt;&amp;gt; .CredentialsInjectionFilter 
&lt;br&gt;&amp;gt;&amp;gt; .doFilter(CredentialsInjectionFilter.java:15) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina 
&lt;br&gt;&amp;gt;&amp;gt; .core 
&lt;br&gt;&amp;gt;&amp;gt; .ApplicationFilterChain 
&lt;br&gt;&amp;gt;&amp;gt; .internalDoFilter(ApplicationFilterChain.java:215) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina 
&lt;br&gt;&amp;gt;&amp;gt; .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
&lt;br&gt;&amp;gt;&amp;gt; 188) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.picocontainer.web.PicoServletContainerFilter.doFilter 
&lt;br&gt;&amp;gt;&amp;gt; (PicoServletContainerFilter.java:74) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina 
&lt;br&gt;&amp;gt;&amp;gt; .core 
&lt;br&gt;&amp;gt;&amp;gt; .ApplicationFilterChain 
&lt;br&gt;&amp;gt;&amp;gt; .internalDoFilter(ApplicationFilterChain.java:215) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina 
&lt;br&gt;&amp;gt;&amp;gt; .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 
&lt;br&gt;&amp;gt;&amp;gt; 188) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina 
&lt;br&gt;&amp;gt;&amp;gt; .core.StandardWrapperValve.invoke(StandardWrapperValve.java: 
&lt;br&gt;&amp;gt;&amp;gt; 213) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina 
&lt;br&gt;&amp;gt;&amp;gt; .core.StandardContextValve.invoke(StandardContextValve.java: 
&lt;br&gt;&amp;gt;&amp;gt; 172) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina.core.StandardHostValve.invoke(StandardHostValve.java: 
&lt;br&gt;&amp;gt;&amp;gt; 127) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 
&lt;br&gt;&amp;gt;&amp;gt; 117) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 
&lt;br&gt;&amp;gt;&amp;gt; 108) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 
&lt;br&gt;&amp;gt;&amp;gt; 174)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache.coyote.http11.Http11Processor.process(Http11Processor.java: 
&lt;br&gt;&amp;gt;&amp;gt; 875)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.coyote.http11.Http11BaseProtocol 
&lt;br&gt;&amp;gt;&amp;gt; $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java: 
&lt;br&gt;&amp;gt;&amp;gt; 665) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java: 
&lt;br&gt;&amp;gt;&amp;gt; 528) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; org 
&lt;br&gt;&amp;gt;&amp;gt; .apache 
&lt;br&gt;&amp;gt;&amp;gt; .tomcat 
&lt;br&gt;&amp;gt;&amp;gt; .util 
&lt;br&gt;&amp;gt;&amp;gt; .net 
&lt;br&gt;&amp;gt;&amp;gt; .LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java: 
&lt;br&gt;&amp;gt;&amp;gt; 81) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.tomcat.util.threads.ThreadPool 
&lt;br&gt;&amp;gt;&amp;gt; $ControlRunnable.run(ThreadPool.java:689) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; java.lang.Thread.run(Thread.java:613)
&lt;br&gt;&amp;gt;&amp;gt; I suspect I don;t quite understand the relationship between &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; threadlocal, storage, containers.
&lt;br&gt;&amp;gt;&amp;gt; What next?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It would be of great help if you could open a new jira issue and &amp;nbsp;
&lt;br&gt;&amp;gt; attach a sample project that reproduces the problem along the lines &amp;nbsp;
&lt;br&gt;&amp;gt; of pico web examples (ideally in mvn so it does not contain any &amp;nbsp;
&lt;br&gt;&amp;gt; external jars).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please keep it to the bare minimum required to reproduce the problem.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; We'd be happy to add a restlet example to our codebase.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fun-with-tomcat-and-pico-tp19872303p19886184.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19885670</id>
	<title>Re: Fun with tomcat and pico</title>
	<published>2008-10-08T11:59:18Z</published>
	<updated>2008-10-08T11:59:18Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">Nick Drew wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2 Issues I've discovered playing with pico today:
&lt;br&gt;&amp;gt; Pico 2.5
&lt;br&gt;&amp;gt; Pico web 2.0.1
&lt;br&gt;&amp;gt; Tomcat 5.5.27
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm using Reslet 1.1 so can't borrow behaviour from webwork or struts.
&lt;br&gt;&amp;gt; We're using the WebComposer pattern
&lt;br&gt;&amp;gt; I've overridden the base Pico servlet listener to do some static 
&lt;br&gt;&amp;gt; initialisation not possible in the composer, but I don;t think this has 
&lt;br&gt;&amp;gt; any effect.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; First issue:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 008-10-08 12:58:21,974 [main] ERROR 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/SunCentral-portal-web-1.0.0] 
&lt;br&gt;&amp;gt; - Exception sending context destroyed event to listener instance
&lt;br&gt;&amp;gt; of class portal.PortalListener
&lt;br&gt;&amp;gt; java.lang.IllegalStateException: Cannot stop. &amp;nbsp;Current container state 
&lt;br&gt;&amp;gt; was: CONSTRUCTED
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.picocontainer.lifecycle.DefaultLifecycleState.stopping(DefaultLifecycleState.java:62) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.picocontainer.DefaultPicoContainer.stop(DefaultPicoContainer.java:658)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.picocontainer.web.PicoServletContainerListener.contextDestroyed(PicoServletContainerListener.java:190) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3805) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardContext.stop(StandardContext.java:4364)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardContext.start(StandardContext.java:4246)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardService.start(StandardService.java:448)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.reflect.Method.invoke(Method.java:585)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Second issue:
&lt;br&gt;&amp;gt; We want to put a instance at thread local with a POJO copy of the user's 
&lt;br&gt;&amp;gt; credentials
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; e.g.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; doFilter( request &amp;nbsp;){
&lt;br&gt;&amp;gt; &amp;nbsp; getRequestContainer().addComponent( getUserCredentialsFrom(request) )
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; this works fine on the first thread, but not on the second:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2008-10-08 15:34:34,978 [http-8080-Processor24] ERROR 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/SunCentral-portal-web-1.0.0].[RestletServlet] 
&lt;br&gt;&amp;gt; - Servlet.service() for servlet
&lt;br&gt;&amp;gt; &amp;nbsp;RestletServlet threw exception
&lt;br&gt;&amp;gt; org.picocontainer.PicoCompositionException: Duplicate Keys not allowed. 
&lt;br&gt;&amp;gt; Duplicate for 'class portal.UserCredentials'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.picocontainer.DefaultPicoContainer.addAdapterInternal(DefaultPicoContainer.java:350) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.picocontainer.DefaultPicoContainer.addAdapter(DefaultPicoContainer.java:370) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.picocontainer.DefaultPicoContainer.addAdapter(DefaultPicoContainer.java:363) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at portal.CredentialsInjector.inject(CredentialsInjector.java:18)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; portal.CredentialsInjectionFilter.doFilter(CredentialsInjectionFilter.java:15) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.picocontainer.web.PicoServletContainerFilter.doFilter(PicoServletContainerFilter.java:74) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:613)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I suspect I don;t quite understand the relationship between threadlocal, 
&lt;br&gt;&amp;gt; storage, containers.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What next?
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;It would be of great help if you could open a new jira issue and attach 
&lt;br&gt;a sample project that reproduces the problem along the lines of pico web 
&lt;br&gt;examples (ideally in mvn so it does not contain any external jars).
&lt;br&gt;&lt;br&gt;Please keep it to the bare minimum required to reproduce the problem.
&lt;br&gt;&lt;br&gt;We'd be happy to add a restlet example to our codebase.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fun-with-tomcat-and-pico-tp19872303p19885670.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19872303</id>
	<title>Fun with tomcat and pico</title>
	<published>2008-10-07T21:53:22Z</published>
	<updated>2008-10-07T21:53:22Z</updated>
	<author>
		<name>Nick Drew-3</name>
	</author>
	<content type="html">2 Issues I've discovered playing with pico today:
&lt;br&gt;Pico 2.5
&lt;br&gt;Pico web 2.0.1
&lt;br&gt;Tomcat 5.5.27
&lt;br&gt;&lt;br&gt;I'm using Reslet 1.1 so can't borrow behaviour from webwork or struts.
&lt;br&gt;We're using the WebComposer pattern
&lt;br&gt;I've overridden the base Pico servlet listener to do some static &amp;nbsp;
&lt;br&gt;initialisation not possible in the composer, but I don;t think this &amp;nbsp;
&lt;br&gt;has any effect.
&lt;br&gt;&lt;br&gt;First issue:
&lt;br&gt;&lt;br&gt;008-10-08 12:58:21,974 [main] ERROR &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ 
&lt;br&gt;SunCentral-portal-web-1.0.0] - Exception sending context destroyed &amp;nbsp;
&lt;br&gt;event to listener instance
&lt;br&gt;of class portal.PortalListener
&lt;br&gt;java.lang.IllegalStateException: Cannot stop. &amp;nbsp;Current container state &amp;nbsp;
&lt;br&gt;was: CONSTRUCTED
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.picocontainer 
&lt;br&gt;.lifecycle.DefaultLifecycleState.stopping(DefaultLifecycleState.java:62)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.picocontainer.DefaultPicoContainer.stop(DefaultPicoContainer.java: 
&lt;br&gt;658)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.picocontainer.web.PicoServletContainerListener.contextDestroyed 
&lt;br&gt;(PicoServletContainerListener.java:190)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina.core.StandardContext.listenerStop(StandardContext.java:3805)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.StandardContext.stop(StandardContext.java:4364)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.StandardContext.start(StandardContext.java: 
&lt;br&gt;4246)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 
&lt;br&gt;311)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina 
&lt;br&gt;.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.StandardService.start(StandardService.java:448)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.catalina.startup.Catalina.start(Catalina.java: 
&lt;br&gt;552)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;sun 
&lt;br&gt;.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 
&lt;br&gt;39)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;sun 
&lt;br&gt;.reflect 
&lt;br&gt;.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 
&lt;br&gt;25)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at java.lang.reflect.Method.invoke(Method.java:585)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java: 
&lt;br&gt;295)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java: 
&lt;br&gt;433)
&lt;br&gt;&lt;br&gt;Second issue:
&lt;br&gt;We want to put a instance at thread local with a POJO copy of the &amp;nbsp;
&lt;br&gt;user's credentials
&lt;br&gt;&lt;br&gt;e.g.
&lt;br&gt;&lt;br&gt;doFilter( request &amp;nbsp;){
&lt;br&gt;&amp;nbsp; &amp;nbsp;getRequestContainer().addComponent( getUserCredentialsFrom(request) )
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;this works fine on the first thread, but not on the second:
&lt;br&gt;&lt;br&gt;2008-10-08 15:34:34,978 [http-8080-Processor24] ERROR &amp;nbsp;
&lt;br&gt;org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ 
&lt;br&gt;SunCentral-portal-web-1.0.0].[RestletServlet] - Servlet.service() for &amp;nbsp;
&lt;br&gt;servlet
&lt;br&gt;&amp;nbsp; RestletServlet threw exception
&lt;br&gt;org.picocontainer.PicoCompositionException: Duplicate Keys not &amp;nbsp;
&lt;br&gt;allowed. Duplicate for 'class portal.UserCredentials'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.picocontainer 
&lt;br&gt;.DefaultPicoContainer.addAdapterInternal(DefaultPicoContainer.java:350)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.picocontainer 
&lt;br&gt;.DefaultPicoContainer.addAdapter(DefaultPicoContainer.java:370)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.picocontainer 
&lt;br&gt;.DefaultPicoContainer.addAdapter(DefaultPicoContainer.java:363)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at portal.CredentialsInjector.inject(CredentialsInjector.java: 
&lt;br&gt;18)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;portal 
&lt;br&gt;.CredentialsInjectionFilter.doFilter(CredentialsInjectionFilter.java:15)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina 
&lt;br&gt;.core 
&lt;br&gt;.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
&lt;br&gt;215)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina 
&lt;br&gt;.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.picocontainer 
&lt;br&gt;.web 
&lt;br&gt;.PicoServletContainerFilter.doFilter(PicoServletContainerFilter.java:74)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina 
&lt;br&gt;.core 
&lt;br&gt;.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
&lt;br&gt;215)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina 
&lt;br&gt;.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 
&lt;br&gt;213)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 
&lt;br&gt;172)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 
&lt;br&gt;127)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 
&lt;br&gt;117)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 
&lt;br&gt;174)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 
&lt;br&gt;875)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.coyote.http11.Http11BaseProtocol 
&lt;br&gt;$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.tomcat 
&lt;br&gt;.util 
&lt;br&gt;.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java: 
&lt;br&gt;81)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at org.apache.tomcat.util.threads.ThreadPool 
&lt;br&gt;$ControlRunnable.run(ThreadPool.java:689)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at java.lang.Thread.run(Thread.java:613)
&lt;br&gt;&lt;br&gt;I suspect I don;t quite understand the relationship between &amp;nbsp;
&lt;br&gt;threadlocal, storage, containers.
&lt;br&gt;&lt;br&gt;What next?
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;Nick Drew
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19872303&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nick.s.drew@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fun-with-tomcat-and-pico-tp19872303p19872303.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19709072</id>
	<title>Re: Struts 2 and NanoContainer 1.x?</title>
	<published>2008-09-27T22:42:40Z</published>
	<updated>2008-09-27T22:42:40Z</updated>
	<author>
		<name>Daniel Wellman</name>
	</author>
	<content type="html">Paul,
&lt;br&gt;&lt;br&gt;Thanks for the info and prompt response. &amp;nbsp;
&lt;br&gt;&lt;br&gt;I'll download Pico 2 and try to build a sample application with Struts 2 to get a feeling for the changes. &amp;nbsp;I see that the new WebapplicationContext was introduced to handle the app/session/request context scopes. &amp;nbsp;Is there an upgrade guide for 1.x to 2.x?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Dan
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Paul Hammant-3 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;n
&lt;br&gt;Dan,
&lt;br&gt;&lt;br&gt;The NanoContainer code-line has moved to PicoContainer-Web ( &lt;a href=&quot;http://picocontainer.org/web/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://picocontainer.org/web/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; ) entirely. &amp;nbsp;It was more of a re-write than a refactoring, whereas &amp;nbsp;
&lt;br&gt;PicoContainer 2.0 was closer to refactor than rewrite. &amp;nbsp;The 1.x line &amp;nbsp;
&lt;br&gt;is supported for bugs of course, but all active development is &amp;nbsp;
&lt;br&gt;happening in the 2.x code-line. &amp;nbsp;That included for web. &amp;nbsp;It would be &amp;nbsp;
&lt;br&gt;possible to redo the old NanoContainer web stuff for the new &amp;nbsp;
&lt;br&gt;PicoContainer, but I'm thinking the benefits of fully upgrading to 2.0 &amp;nbsp;
&lt;br&gt;are too good to pass up.
&lt;br&gt;&lt;br&gt;The biggest change, is to the way the SessionContext is used to store &amp;nbsp;
&lt;br&gt;instantiated components. &amp;nbsp;Essentially, we used to make a new container &amp;nbsp;
&lt;br&gt;per session (incl re-registering comps) and serialize it with the &amp;nbsp;
&lt;br&gt;session. &amp;nbsp;For the newer PicoContainer 2.0 web stuff the whole &amp;nbsp;
&lt;br&gt;container is populated once only, and not itself stored with the &amp;nbsp;
&lt;br&gt;session. &amp;nbsp;Only the instantiated components are stored for the session.
&lt;br&gt;&lt;br&gt;I appreciate that that is some work for you for an existing codebase, &amp;nbsp;
&lt;br&gt;but we do have a Struts2 binding for PicoContainer web 2.x
&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Sep 27, 2008, at 12:12 PM, Daniel Wellman wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Greetings,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm in the process of upgrading from WebWork 2.1.7 to WW 2.2.x and use
&lt;br&gt;&amp;gt; NanoContainer 1.x and PicoContainer. &amp;nbsp;I use the
&lt;br&gt;&amp;gt; ServletRequestContainerFilter, ServletContainerListener, and
&lt;br&gt;&amp;gt; PicoObjectFactoryFilter combo to specify my own ContainerComposer &amp;nbsp;
&lt;br&gt;&amp;gt; with app,
&lt;br&gt;&amp;gt; session, and request-scope Picos.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm looking to upgrade to Struts 2 soon, and wanted to know what the
&lt;br&gt;&amp;gt; preferred option for Nano/Pico support was? &amp;nbsp;Is Pico/Nano 1.x &amp;nbsp;
&lt;br&gt;&amp;gt; supported, or
&lt;br&gt;&amp;gt; do I need to upgrade to Pico/PicoWeb 2.x first? &amp;nbsp;I see that Struts2 &amp;nbsp;
&lt;br&gt;&amp;gt; includes
&lt;br&gt;&amp;gt; a PicoFilterDispatcher just like WebWork 2.2, but I wasn't sure what &amp;nbsp;
&lt;br&gt;&amp;gt; version
&lt;br&gt;&amp;gt; of Pico was required, etc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Dan
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://www.nabble.com/Struts-2-and-NanoContainer-1.x--tp19705615p19705615.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Struts-2-and-NanoContainer-1.x--tp19705615p19705615.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the NanoContainer - PicoContainer - Users mailing list &amp;nbsp;
&lt;br&gt;&amp;gt; archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Struts-2-and-NanoContainer-1.x--tp19705615p19709072.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19705903</id>
	<title>Re: Struts 2 and NanoContainer 1.x?</title>
	<published>2008-09-27T12:48:35Z</published>
	<updated>2008-09-27T12:48:35Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Dan,
&lt;br&gt;&lt;br&gt;The NanoContainer code-line has moved to PicoContainer-Web ( &lt;a href=&quot;http://picocontainer.org/web/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://picocontainer.org/web/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; ) entirely. &amp;nbsp;It was more of a re-write than a refactoring, whereas &amp;nbsp;
&lt;br&gt;PicoContainer 2.0 was closer to refactor than rewrite. &amp;nbsp;The 1.x line &amp;nbsp;
&lt;br&gt;is supported for bugs of course, but all active development is &amp;nbsp;
&lt;br&gt;happening in the 2.x code-line. &amp;nbsp;That included for web. &amp;nbsp;It would be &amp;nbsp;
&lt;br&gt;possible to redo the old NanoContainer web stuff for the new &amp;nbsp;
&lt;br&gt;PicoContainer, but I'm thinking the benefits of fully upgrading to 2.0 &amp;nbsp;
&lt;br&gt;are too good to pass up.
&lt;br&gt;&lt;br&gt;The biggest change, is to the way the SessionContext is used to store &amp;nbsp;
&lt;br&gt;instantiated components. &amp;nbsp;Essentially, we used to make a new container &amp;nbsp;
&lt;br&gt;per session (incl re-registering comps) and serialize it with the &amp;nbsp;
&lt;br&gt;session. &amp;nbsp;For the newer PicoContainer 2.0 web stuff the whole &amp;nbsp;
&lt;br&gt;container is populated once only, and not itself stored with the &amp;nbsp;
&lt;br&gt;session. &amp;nbsp;Only the instantiated components are stored for the session.
&lt;br&gt;&lt;br&gt;I appreciate that that is some work for you for an existing codebase, &amp;nbsp;
&lt;br&gt;but we do have a Struts2 binding for PicoContainer web 2.x
&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Sep 27, 2008, at 12:12 PM, Daniel Wellman wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Greetings,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm in the process of upgrading from WebWork 2.1.7 to WW 2.2.x and use
&lt;br&gt;&amp;gt; NanoContainer 1.x and PicoContainer. &amp;nbsp;I use the
&lt;br&gt;&amp;gt; ServletRequestContainerFilter, ServletContainerListener, and
&lt;br&gt;&amp;gt; PicoObjectFactoryFilter combo to specify my own ContainerComposer &amp;nbsp;
&lt;br&gt;&amp;gt; with app,
&lt;br&gt;&amp;gt; session, and request-scope Picos.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm looking to upgrade to Struts 2 soon, and wanted to know what the
&lt;br&gt;&amp;gt; preferred option for Nano/Pico support was? &amp;nbsp;Is Pico/Nano 1.x &amp;nbsp;
&lt;br&gt;&amp;gt; supported, or
&lt;br&gt;&amp;gt; do I need to upgrade to Pico/PicoWeb 2.x first? &amp;nbsp;I see that Struts2 &amp;nbsp;
&lt;br&gt;&amp;gt; includes
&lt;br&gt;&amp;gt; a PicoFilterDispatcher just like WebWork 2.2, but I wasn't sure what &amp;nbsp;
&lt;br&gt;&amp;gt; version
&lt;br&gt;&amp;gt; of Pico was required, etc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Dan
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://www.nabble.com/Struts-2-and-NanoContainer-1.x--tp19705615p19705615.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Struts-2-and-NanoContainer-1.x--tp19705615p19705615.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the NanoContainer - PicoContainer - Users mailing list &amp;nbsp;
&lt;br&gt;&amp;gt; archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Struts-2-and-NanoContainer-1.x--tp19705615p19705903.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19705615</id>
	<title>Struts 2 and NanoContainer 1.x?</title>
	<published>2008-09-27T12:12:12Z</published>
	<updated>2008-09-27T12:12:12Z</updated>
	<author>
		<name>Daniel Wellman</name>
	</author>
	<content type="html">Greetings,
&lt;br&gt;&lt;br&gt;I'm in the process of upgrading from WebWork 2.1.7 to WW 2.2.x and use NanoContainer 1.x and PicoContainer. &amp;nbsp;I use the ServletRequestContainerFilter, ServletContainerListener, and PicoObjectFactoryFilter combo to specify my own ContainerComposer with app, session, and request-scope Picos.
&lt;br&gt;&lt;br&gt;I'm looking to upgrade to Struts 2 soon, and wanted to know what the preferred option for Nano/Pico support was? &amp;nbsp;Is Pico/Nano 1.x supported, or do I need to upgrade to Pico/PicoWeb 2.x first? &amp;nbsp;I see that Struts2 includes a PicoFilterDispatcher just like WebWork 2.2, but I wasn't sure what version of Pico was required, etc.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Dan&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Struts-2-and-NanoContainer-1.x--tp19705615p19705615.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19518641</id>
	<title>Re: Picoweb sessionContainerholder</title>
	<published>2008-09-16T12:15:19Z</published>
	<updated>2008-09-16T12:15:19Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Look in PicoServletContainerListener dude.
&lt;br&gt;&lt;br&gt;&amp;nbsp; .start() .stop() and .dispose() are called for new/dead context and &amp;nbsp;
&lt;br&gt;new/dead session at the right moments
&lt;br&gt;&lt;br&gt;ThreadLocal is used to during the web request only. &amp;nbsp;At the start of &amp;nbsp;
&lt;br&gt;the web request a the right session set of components are set up.
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;(am back from vacation now)
&lt;br&gt;&lt;br&gt;On Sep 6, 2008, at 5:59 PM, Michael Rimov wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi guys!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm still spelunking picocontainer-web trying to get my head around &amp;nbsp;
&lt;br&gt;&amp;gt; the code. &amp;nbsp;I was wondering something:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Why is SessionContainerHolder.lifecycleState threadlocal?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Wouldn't that mean that the lifecycle state got lost in subsequent &amp;nbsp;
&lt;br&gt;&amp;gt; requests by the client? &amp;nbsp;(Assuming that the client
&lt;br&gt;&amp;gt; gets serviced by a different thread.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Since the SessionContainerHolder instance is stored within the &amp;nbsp;
&lt;br&gt;&amp;gt; Session, isn't that sufficient identity?
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;			-Mike (R)
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Picoweb-sessionContainerholder-tp19353265p19518641.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19517238</id>
	<title>Re: FW: Picoweb sessionContainerholder</title>
	<published>2008-09-16T10:25:17Z</published>
	<updated>2008-09-16T10:25:17Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">It had and I believe Paul was intending to take a look at the issue over 
&lt;br&gt;a long flight.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;Michael Rimov wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I completely forget if this actually made it to the list. &amp;nbsp;We were have some reverse DNS problems so most of our mail wasn't getting accepted over the internet. &amp;nbsp; So I'm resending just in case. &amp;nbsp;If I already posted this, my apologies.
&lt;br&gt;&amp;gt; 							
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Michael Rimov [mailto:&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19517238&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rimovm@...&lt;/a&gt;] 
&lt;br&gt;&amp;gt; Sent: Saturday, September 06, 2008 6:00 PM
&lt;br&gt;&amp;gt; To: '&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19517238&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt;'
&lt;br&gt;&amp;gt; Subject: Picoweb sessionContainerholder
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi guys!
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; I'm still spelunking picocontainer-web trying to get my head around the code. &amp;nbsp;I was wondering something: 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Why is SessionContainerHolder.lifecycleState threadlocal?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Wouldn't that mean that the lifecycle state got lost in subsequent requests by the client? &amp;nbsp;(Assuming that the client 
&lt;br&gt;&amp;gt; gets serviced by a different thread.)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Since the SessionContainerHolder instance is stored within the Session, isn't that sufficient identity?
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 			-Mike (R)
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/FW%3A-Picoweb-sessionContainerholder-tp19506089p19517238.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19506089</id>
	<title>FW: Picoweb sessionContainerholder</title>
	<published>2008-09-15T23:14:30Z</published>
	<updated>2008-09-15T23:14:30Z</updated>
	<author>
		<name>Michael Rimov</name>
	</author>
	<content type="html">I completely forget if this actually made it to the list. &amp;nbsp;We were have some reverse DNS problems so most of our mail wasn't getting accepted over the internet. &amp;nbsp; So I'm resending just in case. &amp;nbsp;If I already posted this, my apologies.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: Michael Rimov [mailto:&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19506089&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rimovm@...&lt;/a&gt;] 
&lt;br&gt;Sent: Saturday, September 06, 2008 6:00 PM
&lt;br&gt;To: '&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19506089&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt;'
&lt;br&gt;Subject: Picoweb sessionContainerholder
&lt;br&gt;&lt;br&gt;Hi guys!
&lt;br&gt;&amp;nbsp;
&lt;br&gt;I'm still spelunking picocontainer-web trying to get my head around the code. &amp;nbsp;I was wondering something: 
&lt;br&gt;&lt;br&gt;Why is SessionContainerHolder.lifecycleState threadlocal?
&lt;br&gt;&lt;br&gt;Wouldn't that mean that the lifecycle state got lost in subsequent requests by the client? &amp;nbsp;(Assuming that the client 
&lt;br&gt;gets serviced by a different thread.)
&lt;br&gt;&lt;br&gt;Since the SessionContainerHolder instance is stored within the Session, isn't that sufficient identity?
&lt;br&gt;Thanks,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 			-Mike (R)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/FW%3A-Picoweb-sessionContainerholder-tp19506089p19506089.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19474386</id>
	<title>Re: A question on IoC/DI theory</title>
	<published>2008-09-13T13:27:35Z</published>
	<updated>2008-09-13T13:27:35Z</updated>
	<author>
		<name>Witold Szczerba</name>
	</author>
	<content type="html">I see it this way: when writing application, one should write its
&lt;br&gt;components the way they are totally unaware of IoC/DI container (and,
&lt;br&gt;where it is possible, of each other). This should be like 95% of your
&lt;br&gt;code (including unit tests). Then you have a very thin layer which
&lt;br&gt;does use IoC container to wire everything up (IoC container is,
&lt;br&gt;however, not necessary, but helpful). Sometimes that 5% can grow, but
&lt;br&gt;the whole idea is to keep application clean, to be able to reuse
&lt;br&gt;components in other applications, just not to make one huge spaghetti.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Witold Szczerba
&lt;br&gt;&lt;br&gt;2008/8/19 Todor Boev &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19474386&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;t.boev@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; I am a long time observer of IoC/DI containers but sadly have not had a
&lt;br&gt;&amp;gt; chance to use them for a real project yet :( Therefore my views on the
&lt;br&gt;&amp;gt; matter are probably immature. I believe DI should permeate the program in
&lt;br&gt;&amp;gt; depth rather than be used only for the first few long-lived components. I
&lt;br&gt;&amp;gt; would like to use the DI container as a replacement of good'ol new. So DI
&lt;br&gt;&amp;gt; should be about scope management. Like in the classical http example where
&lt;br&gt;&amp;gt; components live in &amp;quot;server&amp;quot;-&amp;gt;&amp;quot;connection&amp;quot;-&amp;gt;&amp;quot;request&amp;quot; scope and each scope
&lt;br&gt;&amp;gt; creates and destroys multiple instance of the next scope. However this means
&lt;br&gt;&amp;gt; that at least one object in the older scope must use the container API to
&lt;br&gt;&amp;gt; create-&amp;gt;populate-&amp;gt;start-&amp;gt;stop-&amp;gt;destroy the next scope. Isn't this at odds
&lt;br&gt;&amp;gt; with the number one DI principle of keeping components independent? Is there
&lt;br&gt;&amp;gt; some popular practice to deal with this or I should just accept that the
&lt;br&gt;&amp;gt; coast of DI everywhere is some dependence on the container API?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; Todor
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/A-question-on-IoC-DI-theory-tp19045651p19474386.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19353265</id>
	<title>Picoweb sessionContainerholder</title>
	<published>2008-09-06T17:59:30Z</published>
	<updated>2008-09-06T17:59:30Z</updated>
	<author>
		<name>Michael Rimov</name>
	</author>
	<content type="html">Hi guys!
&lt;br&gt;&amp;nbsp;
&lt;br&gt;I'm still spelunking picocontainer-web trying to get my head around the code. &amp;nbsp;I was wondering something: 
&lt;br&gt;&lt;br&gt;Why is SessionContainerHolder.lifecycleState threadlocal?
&lt;br&gt;&lt;br&gt;Wouldn't that mean that the lifecycle state got lost in subsequent requests by the client? &amp;nbsp;(Assuming that the client 
&lt;br&gt;gets serviced by a different thread.)
&lt;br&gt;&lt;br&gt;Since the SessionContainerHolder instance is stored within the Session, isn't that sufficient identity?
&lt;br&gt;Thanks,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 			-Mike (R)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Picoweb-sessionContainerholder-tp19353265p19353265.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19250687</id>
	<title>Re: OrStartableLifecycleStrategy</title>
	<published>2008-09-01T01:19:08Z</published>
	<updated>2008-09-01T01:19:08Z</updated>
	<author>
		<name>mihobson</name>
	</author>
	<content type="html">2008/8/31 Paul Hammant &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19250687&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; If someone wants to think of a better name, then I'd be happy :-)
&lt;br&gt;&lt;br&gt;What does it do?
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OrStartableLifecycleStrategy-tp19238084p19250687.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19246177</id>
	<title>Re: Jira spam</title>
	<published>2008-08-31T14:11:29Z</published>
	<updated>2008-08-31T14:11:29Z</updated>
	<author>
		<name>peter royal-3</name>
	</author>
	<content type="html">On Aug 31, 2008, at 7:02 AM, Mauro Talevi wrote:
&lt;br&gt;&amp;gt; I noticed we started getting spammers attaching links as comments on &amp;nbsp;
&lt;br&gt;&amp;gt; jira issues.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any idea on how to remove them other than manually open and edit &amp;nbsp;
&lt;br&gt;&amp;gt; each issue?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; More importantly, how do we prevent them?
&lt;br&gt;&lt;br&gt;All I know is manual deletion.. Ben might have more tricks.. file a &amp;nbsp;
&lt;br&gt;chore?
&lt;br&gt;&lt;br&gt;-pete
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;(peter.royal|osi)@pobox.com - &lt;a href=&quot;http://fotap.org/~osi&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fotap.org/~osi&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://www.nabble.com/attachment/19246177/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Jira-spam-tp19242486p19246177.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19242486</id>
	<title>Jira spam</title>
	<published>2008-08-31T07:02:18Z</published>
	<updated>2008-08-31T07:02:18Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">I noticed we started getting spammers attaching links as comments on 
&lt;br&gt;jira issues.
&lt;br&gt;&lt;br&gt;Any idea on how to remove them other than manually open and edit each issue?
&lt;br&gt;&lt;br&gt;More importantly, how do we prevent them?
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Jira-spam-tp19242486p19242486.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19238084</id>
	<title>OrStartableLifecycleStrategy</title>
	<published>2008-08-30T16:10:18Z</published>
	<updated>2008-08-30T16:10:18Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">If someone wants to think of a better name, then I'd be happy :-)
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OrStartableLifecycleStrategy-tp19238084p19238084.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19099342</id>
	<title>Re: A question on IoC/DI theory</title>
	<published>2008-08-21T17:14:56Z</published>
	<updated>2008-08-21T17:14:56Z</updated>
	<author>
		<name>Jörg Schaible-2</name>
	</author>
	<content type="html">Hi Todor,
&lt;br&gt;&lt;br&gt;Todor Boev wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; I am a long time observer of IoC/DI containers but sadly have not had a
&lt;br&gt;&amp;gt; chance to use them for a real project yet :( Therefore my views on the
&lt;br&gt;&amp;gt; matter are probably immature. I believe DI should permeate the program
&lt;br&gt;&amp;gt; in depth rather than be used only for the first few long-lived
&lt;br&gt;&amp;gt; components. I would like to use the DI container as a replacement of
&lt;br&gt;&amp;gt; good'ol new. So DI should be about scope management. Like in the
&lt;br&gt;&amp;gt; classical http example where components live in
&lt;br&gt;&amp;gt; &amp;quot;server&amp;quot;-&amp;gt;&amp;quot;connection&amp;quot;-&amp;gt;&amp;quot;request&amp;quot; scope and each scope creates and
&lt;br&gt;&amp;gt; destroys multiple instance of the next scope. However this means that at
&lt;br&gt;&amp;gt; least one object in the older scope must use the container API to
&lt;br&gt;&amp;gt; create-&amp;gt;populate-&amp;gt;start-&amp;gt;stop-&amp;gt;destroy the next scope. Isn't this at
&lt;br&gt;&amp;gt; odds with the number one DI principle of keeping components independent?
&lt;br&gt;&amp;gt; Is there some popular practice to deal with this or I should just accept
&lt;br&gt;&amp;gt; that the coast of DI everywhere is some dependence on the container API?
&lt;/div&gt;&lt;br&gt;You will normally create some kind of service component that hides the
&lt;br&gt;container. Simply model an interface like
&lt;br&gt;&lt;br&gt;interface ServiceManager {
&lt;br&gt;&amp;nbsp; &amp;nbsp; RequestId startRequest(...);
&lt;br&gt;&amp;nbsp; &amp;nbsp; void stopRequest(RequestId id);
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;The concrete implementation of this interface may setup any kind of
&lt;br&gt;container hierarchy. In a standalone app it would even contain the main
&lt;br&gt;method, create an instance of itself and add it to the root container. That
&lt;br&gt;way this class contains the only code that actually references something in
&lt;br&gt;Pico (unless you're using custom lifecycle interfaces).
&lt;br&gt;&lt;br&gt;- Jörg
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/A-question-on-IoC-DI-theory-tp19045651p19099342.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19045651</id>
	<title>A question on IoC/DI theory</title>
	<published>2008-08-19T00:38:33Z</published>
	<updated>2008-08-19T00:38:33Z</updated>
	<author>
		<name>Todor Boev</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;I am a long time observer of IoC/DI containers but sadly have not had a 
&lt;br&gt;chance to use them for a real project yet :( Therefore my views on the 
&lt;br&gt;matter are probably immature. I believe DI should permeate the program 
&lt;br&gt;in depth rather than be used only for the first few long-lived 
&lt;br&gt;components. I would like to use the DI container as a replacement of 
&lt;br&gt;good'ol new. So DI should be about scope management. Like in the 
&lt;br&gt;classical http example where components live in 
&lt;br&gt;&amp;quot;server&amp;quot;-&amp;gt;&amp;quot;connection&amp;quot;-&amp;gt;&amp;quot;request&amp;quot; scope and each scope creates and 
&lt;br&gt;destroys multiple instance of the next scope. However this means that at 
&lt;br&gt;least one object in the older scope must use the container API to 
&lt;br&gt;create-&amp;gt;populate-&amp;gt;start-&amp;gt;stop-&amp;gt;destroy the next scope. Isn't this at 
&lt;br&gt;odds with the number one DI principle of keeping components independent? 
&lt;br&gt;Is there some popular practice to deal with this or I should just accept 
&lt;br&gt;that the coast of DI everywhere is some dependence on the container API?
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Todor
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/A-question-on-IoC-DI-theory-tp19045651p19045651.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18985283</id>
	<title>Re: picocontainer-script and ComponentMonitor</title>
	<published>2008-08-14T09:41:14Z</published>
	<updated>2008-08-14T09:41:14Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">released as 2.5.1 :-)
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Aug 13, 2008, at 6:29 PM, Troy Kinsella wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I posted a message to this list about two weeks ago regarding the &amp;nbsp;
&lt;br&gt;&amp;gt; use of
&lt;br&gt;&amp;gt; a ScriptedContainerBuilder with a custom LifecycleStrategy. My problem
&lt;br&gt;&amp;gt; then was that after I'd set up a parent container with my custom
&lt;br&gt;&amp;gt; LifecycleStrategy, then created a child container from a BeanShell
&lt;br&gt;&amp;gt; script, the LifecycleStrategy was not propagating to the child
&lt;br&gt;&amp;gt; container. Paul's advice was to create the child container in the
&lt;br&gt;&amp;gt; BeanShell script like so:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; pico = parent.makeChildContainer();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; .. and that fixed the problem.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; However, I'm now facing a similar problem with a ComponentMonitor. The
&lt;br&gt;&amp;gt; makeChildContainer() method does not pass the parent ComponentMonitor
&lt;br&gt;&amp;gt; into the child container constructor. Perhaps purposely?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, my question is, how can I get a specific ComponentMonitor into the
&lt;br&gt;&amp;gt; child container? Apologies if I'm just missing the clear way to do so.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Troy
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/picocontainer-script-and-ComponentMonitor-tp18974318p18985283.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18979846</id>
	<title>Re: releasing 2.5.1 ?</title>
	<published>2008-08-14T04:32:08Z</published>
	<updated>2008-08-14T04:32:08Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">Paul Hammant wrote:
&lt;br&gt;&amp;gt; makeChildContainer was not propagating the componentMonitor ref to the 
&lt;br&gt;&amp;gt; child. I've just fixed it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Can I push out 2.5.1 of Pico ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Sure - but let's first resolve the jira issues for 2.5. &amp;nbsp;I've created 
&lt;br&gt;2.5.1 version too.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;sorter/order=DESC&amp;sorter/field=priority&amp;resolution=-1&amp;pid=10120&amp;fixfor=14424&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;sorter/order=DESC&amp;sorter/field=priority&amp;resolution=-1&amp;pid=10120&amp;fixfor=14424&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/releasing-2.5.1---tp18976706p18979846.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18979146</id>
	<title>Re: Re: [picocontainer-scm]  [4867] java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java: iadded some injectors</title>
	<published>2008-08-14T03:28:13Z</published>
	<updated>2008-08-14T03:28:13Z</updated>
	<author>
		<name>Konstantin Priblouda</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--- On Thu, 8/14/08, Paul Hammant &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18979146&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; From: Paul Hammant &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18979146&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Subject: [picocontainer-dev] Re: [picocontainer-scm] &amp;nbsp;[4867] java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java: iadded some injectors
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18979146&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Date: Thursday, August 14, 2008, 10:06 AM
&lt;br&gt;&amp;gt; Konstantin,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Did you mean to do these static factories for CA's or
&lt;br&gt;&amp;gt; CAFs ?
&lt;br&gt;&lt;br&gt;&lt;br&gt;I meant of course CAs ( sorry for slow working tempo )
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--picocontainer-scm----4867--java-2.x-trunk-pico-container-src-java-org-picocontainer-injectors-Injector.java%3A-iadded-some-injectors-tp18976691p18979146.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18976706</id>
	<title>releasing 2.5.1 ?</title>
	<published>2008-08-14T00:07:09Z</published>
	<updated>2008-08-14T00:07:09Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">makeChildContainer was not propagating the componentMonitor ref to the &amp;nbsp;
&lt;br&gt;child. I've just fixed it.
&lt;br&gt;&lt;br&gt;Can I push out 2,5,1 of Pico ?
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/releasing-2.5.1---tp18976706p18976706.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18976691</id>
	<title>Re: [picocontainer-scm]  [4867] java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java: iadded some injectors</title>
	<published>2008-08-14T00:06:05Z</published>
	<updated>2008-08-14T00:06:05Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;Konstantin,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Did you mean to do these static factories for CA's or CAFs ?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I think you mean the latter -&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: -webkit-monospace; font-size: 10px; line-height: 12px; white-space: pre; &quot;&gt;   public static ComponentAdapterFactory  annotatedField( ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; &quot;&gt;&lt;div style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;Regards,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;- Paul&lt;/div&gt;&lt;/div&gt;&lt;/span&gt; &lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;On Aug 5, 2008, at 12:43 PM, &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18976691&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ko5tik@...&lt;/a&gt; wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; &quot;&gt;&lt;div&gt;&lt;div id=&quot;msg&quot;&gt;&lt;dl style=&quot;border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(0, 0, 102); border-right-color: rgb(0, 0, 102); border-bottom-color: rgb(0, 0, 102); border-left-color: rgb(0, 0, 102); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: rgb(51, 102, 153); padding-top: 6px; padding-right: 6px; padding-bottom: 6px; padding-left: 6px; color: rgb(255, 255, 255); font-family: arial, helvetica, sans-serif; font-size: 10pt; &quot;&gt;&lt;dt style=&quot;float: left; width: 6em; font-weight: bold; font-family: arial, helvetica, sans-serif; font-size: 10pt; &quot;&gt;Revision&lt;/dt&gt;&lt;dd&gt;&lt;a href=&quot;http://fisheye.codehaus.org/changelog/picocontainer/?cs=4867&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;4867&lt;/a&gt;&lt;/dd&gt;&lt;dt style=&quot;float: left; width: 6em; font-weight: bold; font-family: arial, helvetica, sans-serif; font-size: 10pt; &quot;&gt;Author&lt;/dt&gt;&lt;dd&gt;ko5tik&lt;/dd&gt;&lt;dt style=&quot;float: left; width: 6em; font-weight: bold; font-family: arial, helvetica, sans-serif; font-size: 10pt; &quot;&gt;Date&lt;/dt&gt;&lt;dd&gt;2008-08-05 14:43:35 -0500 (Tue, 05 Aug 2008)&lt;/dd&gt;&lt;/dl&gt;&lt;h3 style=&quot;font-family: arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold; &quot;&gt;Log Message&lt;/h3&gt;&lt;pre style=&quot;overflow-x: auto; overflow-y: auto; white-space: normal; background-color: rgb(255, 255, 204); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(255, 204, 0); border-right-color: rgb(255, 204, 0); border-bottom-color: rgb(255, 204, 0); border-left-color: rgb(255, 204, 0); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 6px; padding-right: 6px; padding-bottom: 6px; padding-left: 6px; &quot;&gt;iadded some injectors&lt;/pre&gt;&lt;h3 style=&quot;font-family: arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold; &quot;&gt;Modified Paths&lt;/h3&gt;&lt;ul style=&quot;font-family: arial, helvetica, sans-serif; font-size: 10pt; overflow-x: auto; overflow-y: auto; &quot;&gt;&lt;li style=&quot;font-family: arial, helvetica, sans-serif; font-size: 10pt; &quot;&gt;&lt;a href=&quot;#java2xtrunkpicocontainersrcjavaorgpicocontainerinjectorsInjectorjava&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;patch&quot;&gt;&lt;h3 style=&quot;font-family: arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold; &quot;&gt;Diff&lt;/h3&gt;&lt;a id=&quot;java2xtrunkpicocontainersrcjavaorgpicocontainerinjectorsInjectorjava&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;&lt;div class=&quot;modfile&quot; style=&quot;border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; &quot;&gt;&lt;h4 style=&quot;font-family: arial, helvetica, sans-serif; font-size: 10pt; padding-top: 8px; padding-right: 8px; padding-bottom: 8px; padding-left: 8px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(51, 102, 153); color: rgb(255, 255, 255); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-position: initial initial; &quot;&gt;Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java (4866 =&gt; 4867)&lt;/h4&gt;&lt;pre class=&quot;diff&quot; style=&quot;overflow-x: auto; overflow-y: auto; width: 100%; line-height: 1.2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; background-position: initial initial; &quot;&gt;&lt;span class=&quot;info&quot; style=&quot;color: rgb(136, 136, 136); background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(255, 255, 255); display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; background-position: initial initial; &quot;&gt;--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java	2008-08-05 17:59:38 UTC (rev 4866)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java	2008-08-05 19:43:35 UTC (rev 4867)
&lt;/span&gt;&lt;span class=&quot;lines&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; color: rgb(136, 136, 136); background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(255, 255, 255); background-position: initial initial; &quot;&gt;@@ -5,6 +5,8 @@
&lt;/span&gt;&lt;span class=&quot;cx&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; &quot;&gt; import org.picocontainer.LifecycleStrategy;
 import org.picocontainer.Parameter;
 
&lt;/span&gt;&lt;span class=&quot;add&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(221, 255, 221); background-position: initial initial; &quot;&gt;+import java.lang.annotation.Annotation;
+
&lt;/span&gt;&lt;span class=&quot;cx&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; &quot;&gt; /**
  * convenience class providing static methods to conveniently create injectors
  * ( like org.junit.Assert )
&lt;/span&gt;&lt;span class=&quot;lines&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; color: rgb(136, 136, 136); background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(255, 255, 255); background-position: initial initial; &quot;&gt;@@ -63,5 +65,79 @@
&lt;/span&gt;&lt;span class=&quot;cx&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; &quot;&gt;                 lifecycleStrategy, useNames, rememberChosenCtor);
     }
 
&lt;/span&gt;&lt;span class=&quot;add&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(221, 255, 221); background-position: initial initial; &quot;&gt;+    /**
+     * convenience method to create annotated field injector
+     * @param key
+     * @param impl
+     * @param parameters
+     * @param componentMonitor
+     * @param lifecycleStrategy
+     * @param injectionAnnotation
+     * @param useNames
+     * @return
+     */
+    public static ComponentAdapter  annotatedField(Object key,
+                                  Class&amp;lt;?&gt; impl,
+                                  Parameter[] parameters,
+                                  ComponentMonitor componentMonitor,
+                                  LifecycleStrategy lifecycleStrategy,
+                                  Class&amp;lt;? extends Annotation&gt; injectionAnnotation, boolean useNames) {
+        return new  AnnotatedFieldInjector(key, impl, parameters, componentMonitor, lifecycleStrategy, injectionAnnotation,useNames);
+    }
&lt;/span&gt;&lt;span class=&quot;cx&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; &quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;add&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(221, 255, 221); background-position: initial initial; &quot;&gt;+    /**
+     * convenience method to create annotated method injector
+     * @param key
+     * @param impl
+     * @param parameters
+     * @param monitor
+     * @param lifecycleStrategy
+     * @param injectionAnnotation
+     * @param useNames
+     * @return
+     */
+    public static ComponentAdapter   annotatedMethod(Object key,
+                                   Class&amp;lt;?&gt; impl,
+                                   Parameter[] parameters,
+                                   ComponentMonitor monitor,
+                                   LifecycleStrategy lifecycleStrategy, Class&amp;lt;? extends Annotation&gt; injectionAnnotation, boolean useNames) {
+        return new  AnnotatedMethodInjector( key, impl, parameters, monitor, lifecycleStrategy, injectionAnnotation, useNames) ;
+
+    }
+
+
+    /**
+     * creates composite injector
+     * @param componentKey
+     * @param componentImplementation
+     * @param parameters
+     * @param monitor
+     * @param lifecycleStrategy
+     * @param useNames
+     * @param injectors
+     * @return
+     */
+    public static ComponentAdapter composite(Object componentKey, Class&amp;lt;?&gt; componentImplementation, Parameter[] parameters, ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy,
+                             boolean useNames, org.picocontainer.Injector... injectors) {
+        return new CompositeInjector(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames, injectors);
+    }
+
+
+    /**
+     * conventiet method to create method injector
+     * @param componentKey
+     * @param componentImplementation
+     * @param parameters
+     * @param monitor
+     * @param lifecycleStrategy
+     * @param methodName
+     * @param useNames
+     * @return
+     * @throws AbstractInjector.NotConcreteRegistrationException
+     */
+    public static ComponentAdapter method(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
+                          LifecycleStrategy lifecycleStrategy, String methodName, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
+        return new MethodInjector(componentKey, componentImplementation, parameters, monitor,
+                          lifecycleStrategy, methodName, useNames);
+    }
&lt;/span&gt;&lt;span class=&quot;cx&quot; style=&quot;display: block; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 10px; &quot;&gt; }
&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr&gt;&lt;p&gt;To unsubscribe from this list please visit:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--picocontainer-scm----4867--java-2.x-trunk-pico-container-src-java-org-picocontainer-injectors-Injector.java%3A-iadded-some-injectors-tp18976691p18976691.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18976526</id>
	<title>Re: picocontainer-script and ComponentMonitor</title>
	<published>2008-08-13T23:50:40Z</published>
	<updated>2008-08-13T23:50:40Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Fixed in trunk Troy - expect release 2.5.1 shortly.
&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Aug 13, 2008, at 6:29 PM, Troy Kinsella wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I posted a message to this list about two weeks ago regarding the &amp;nbsp;
&lt;br&gt;&amp;gt; use of
&lt;br&gt;&amp;gt; a ScriptedContainerBuilder with a custom LifecycleStrategy. My problem
&lt;br&gt;&amp;gt; then was that after I'd set up a parent container with my custom
&lt;br&gt;&amp;gt; LifecycleStrategy, then created a child container from a BeanShell
&lt;br&gt;&amp;gt; script, the LifecycleStrategy was not propagating to the child
&lt;br&gt;&amp;gt; container. Paul's advice was to create the child container in the
&lt;br&gt;&amp;gt; BeanShell script like so:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; pico = parent.makeChildContainer();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; .. and that fixed the problem.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; However, I'm now facing a similar problem with a ComponentMonitor. The
&lt;br&gt;&amp;gt; makeChildContainer() method does not pass the parent ComponentMonitor
&lt;br&gt;&amp;gt; into the child container constructor. Perhaps purposely?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, my question is, how can I get a specific ComponentMonitor into the
&lt;br&gt;&amp;gt; child container? Apologies if I'm just missing the clear way to do so.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Troy
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/picocontainer-script-and-ComponentMonitor-tp18974318p18976526.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18974318</id>
	<title>picocontainer-script and ComponentMonitor</title>
	<published>2008-08-13T18:29:17Z</published>
	<updated>2008-08-13T18:29:17Z</updated>
	<author>
		<name>Troy Kinsella</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I posted a message to this list about two weeks ago regarding the use of
&lt;br&gt;a ScriptedContainerBuilder with a custom LifecycleStrategy. My problem
&lt;br&gt;then was that after I'd set up a parent container with my custom
&lt;br&gt;LifecycleStrategy, then created a child container from a BeanShell
&lt;br&gt;script, the LifecycleStrategy was not propagating to the child
&lt;br&gt;container. Paul's advice was to create the child container in the
&lt;br&gt;BeanShell script like so:
&lt;br&gt;&lt;br&gt;pico = parent.makeChildContainer();
&lt;br&gt;&lt;br&gt;.. and that fixed the problem.
&lt;br&gt;&lt;br&gt;However, I'm now facing a similar problem with a ComponentMonitor. The
&lt;br&gt;makeChildContainer() method does not pass the parent ComponentMonitor
&lt;br&gt;into the child container constructor. Perhaps purposely?
&lt;br&gt;&lt;br&gt;So, my question is, how can I get a specific ComponentMonitor into the
&lt;br&gt;child container? Apologies if I'm just missing the clear way to do so.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Troy
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/picocontainer-script-and-ComponentMonitor-tp18974318p18974318.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18836863</id>
	<title>Re: Syntax (change|improvement) proposal</title>
	<published>2008-08-05T11:09:37Z</published>
	<updated>2008-08-05T11:09:37Z</updated>
	<author>
		<name>Konstantin Priblouda</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--- On Tue, 8/5/08, Mauro Talevi &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18836863&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mauro.talevi@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; +1 if it will improve readability.
&lt;br&gt;&lt;br&gt;&lt;br&gt;And writability ;) &amp;nbsp; There are already static methods for injection factories
&lt;br&gt;( o.p.i.Injectors ) &amp;nbsp;- so I created class o.p.i.Injector and filling it with life right now
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Syntax-%28change%7Cimprovement%29-proposal-tp18830178p18836863.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18834958</id>
	<title>Re: Syntax (change|improvement) proposal</title>
	<published>2008-08-05T09:35:17Z</published>
	<updated>2008-08-05T09:35:17Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">Konstantin Priblouda wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi all, 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think it would be way nicer to write (and read) :
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; pico.addComponentAdapter(cache(construct()))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; than:
&lt;br&gt;&amp;gt; p.addComponentAdapter(new CCA(new CICA(...)))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; and it &amp;nbsp;would take only some static method imports
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; WDYT? 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;+1 if it will improve readability.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Syntax-%28change%7Cimprovement%29-proposal-tp18830178p18834958.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18830289</id>
	<title>Re: Syntax (change|improvement) proposal</title>
	<published>2008-08-05T05:44:24Z</published>
	<updated>2008-08-05T05:44:24Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Go for it :-)
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Aug 5, 2008, at 5:36 AM, Konstantin Priblouda wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think it would be way nicer to write (and read) :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; pico.addComponentAdapter(cache(construct()))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; than:
&lt;br&gt;&amp;gt; p.addComponentAdapter(new CCA(new CICA(...)))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; and it &amp;nbsp;would take only some static method imports
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; WDYT?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;&amp;gt; JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Syntax-%28change%7Cimprovement%29-proposal-tp18830178p18830289.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18830178</id>
	<title>Syntax (change|improvement) proposal</title>
	<published>2008-08-05T05:36:49Z</published>
	<updated>2008-08-05T05:36:49Z</updated>
	<author>
		<name>Konstantin Priblouda</name>
	</author>
	<content type="html">Hi all, 
&lt;br&gt;&lt;br&gt;I think it would be way nicer to write (and read) :
&lt;br&gt;&lt;br&gt;pico.addComponentAdapter(cache(construct()))
&lt;br&gt;&lt;br&gt;than:
&lt;br&gt;p.addComponentAdapter(new CCA(new CICA(...)))
&lt;br&gt;&lt;br&gt;and it &amp;nbsp;would take only some static method imports
&lt;br&gt;&lt;br&gt;WDYT? 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Syntax-%28change%7Cimprovement%29-proposal-tp18830178p18830178.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18827736</id>
	<title>Re: Picocontainer c.f. Composer</title>
	<published>2008-08-05T02:40:48Z</published>
	<updated>2008-08-05T02:40:48Z</updated>
	<author>
		<name>pchacin</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;I'm new to picocontainer, but so far, I think is far better than guice
&lt;br&gt;and others, mostly when we consider the ratio of weight/features, which
&lt;br&gt;I still find impressive.
&lt;br&gt;&lt;br&gt;Guice is attracting too much attention for the little it offers, maybe
&lt;br&gt;just because the &amp;quot;google&amp;quot; brand. maybe you guys at the picocontainer
&lt;br&gt;team should do &amp;nbsp;a little more of marketing and (re)gain the position it
&lt;br&gt;deserves in the niche of dependency injection.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Regards
&lt;br&gt;&lt;br&gt;Paul Hammant wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well healthy competition should keep everyone on their toes ;-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Aug 4, 2008, at 8:44 AM, John Patterson wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Paul Hammant-3 wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Composer would have been based on PicoContainer, yes. &amp;nbsp;But the move
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; has been called off. &amp;nbsp;Jason from the Maven project had a greater
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; affinity to XBean-Reflect ( &lt;a href=&quot;http://www.google.com/search?q=xbean&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.google.com/search?q=xbean&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +reflect ) some time after the initial agreement. &amp;nbsp;We looked at that a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; felt that we could not / should not change PicoContainer to use it.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; We have moved and repackaged the code and documentation, but in the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; end just deleted from Apache.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; PicoContainer is here to stay. &amp;nbsp;Guice was a wake-up call for us (the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; same idea but different and 3 years later ;). &amp;nbsp;We will be pushing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; PicoContainer relentlessly for the next few years, including further
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; into the generic space. &amp;nbsp;I hope you notice that we have a greater
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; enthusiasm for releases now than we did in the 1.x era.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Good to hear. &amp;nbsp;One thing that pissed me off with Guice is that they
&lt;br&gt;&amp;gt;&amp;gt; have not
&lt;br&gt;&amp;gt;&amp;gt; had a release - even just bug fixes - for over a year. &amp;nbsp;I think Guice
&lt;br&gt;&amp;gt;&amp;gt; 2 has
&lt;br&gt;&amp;gt;&amp;gt; some lifecycle support planned but this has been possible with pico for
&lt;br&gt;&amp;gt;&amp;gt; ages.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm with you fellas!
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Picocontainer-c.f.-Composer-tp18810606p18813819.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Picocontainer-c.f.-Composer-tp18810606p18813819.html&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sent from the NanoContainer - PicoContainer - Users mailing list
&lt;br&gt;&amp;gt;&amp;gt; archive at Nabble.com.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&