Hi, We looking at migrating our application from C1.8.2 over to C2.
In C1.x, we used Turbine for connection pooling, and we need to move over to the Avalon CoponentManager framework. There was one real advantage in using Turbine, where there is a singleton-access to the connection-pool, thereby allowing it to be easily integrated with external code. Basically, we have a tried-and-tested database access library that takes utilises an internal ConnectionFactory that calls into Turbine for its connections. I have not found a similar factory method for accessing either the Cocoon object, its ComponentManager, or any managed components. Have I missed something, or is there a preferred approach? A non-singleton access to the connection pool will require a potentially reasonable coding change. Also, having a little difficulty in configuring a pooled connection to PostgreSQL - I've followed the instructions in the 'datasources' document, but the ComponentManager complains that the named component cannot be found. I've included the relevant bits from both cocoon.xconf, the calling code (from within an Action) and log-file extract. Any and all help will be greatly appreciated, Many thanks Adrian ========== cocoon.xconf extract ============== <markup-languages> <!-- Removed for clarity --> </markup-languages> <!-- <datasources> --> <component name="org.apache.avalon.excalibur.datasource.DataSourceComponentSelector" class="org.apache.cocoon.CocoonComponentSelector"> <!-- Data source details for the ZDAM database --> <component-instance name="zdam" class="org.apache.avalon.util.datasource.JdbcDataSource"> <pool-controller min="2" max="10"/> <auto-commit>false</auto-commit> <dburl>jdbc:postgresql://193.120.120.11/zdam_test</dburl> <user>sql</user> <password>garfield</password> </component-instance> </component> <!-- </datasources> --> ========== cocoon.xconf extract ============== ========== calling code extract ============== ComponentSelector selector = (ComponentSelector) manager.lookup(org.apache.cocoon.Roles.DB_CONNECTION); ConnectionFactory.dataSource = (DataSourceComponent) selector.select("zdam"); ========== calling code extract ============== ========== log-file extract ============== org.apache.avalon.framework.component.ComponentException: UnnamedSelector: ComponentSelector could not find the component for hint: zdam at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.select(Exca liburComponentSelector.java:239) at com.zenark.zdam.cocoon.action.DoUserLoginAction.compose(DoUserLoginAction.ja va:102) at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(De faultComponentFactory.java:98) at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize( ThreadSafeComponentHandler.java:81) at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.addComponen t(ExcaliburComponentSelector.java:383) at org.apache.cocoon.sitemap.AbstractSitemap.load_component(AbstractSitemap.jav a:231) at org.apache.cocoon.www.sitemap_xmap$Configurer.configActions(sitemap_xmap.jav a:929) at org.apache.cocoon.www.sitemap_xmap.configure(sitemap_xmap.java:276) at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(De faultComponentFactory.java:108) at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize( ThreadSafeComponentHandler.java:81) at org.apache.cocoon.components.language.generator.GeneratorSelector.addGenerat or(GeneratorSelector.java:118) at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.addComp iledComponent(ProgramGeneratorImpl.java:292) at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.generat eResource(ProgramGeneratorImpl.java:273) at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.load(Pr ogramGeneratorImpl.java:179) at org.apache.cocoon.sitemap.Handler.run(Handler.java:204) at java.lang.Thread.run(Thread.java:484) ========== log-file extract ============== --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>