Hi list,
when going through the examples in 'Developing with Avalon'
I got stuck with $SUBJ. The following jsp page ...
<jsp:useBean id="container" scope="application"
class="org.apache.bizserver.docs.ContainerComponent"/>
initializing container: <% container.initialize();%> done
... gives the following result:
java.lang.NullPointerException
at
org.apache.avalon.excalibur.component.ExcaliburComponentManager.configure(ExcaliburComponentManager.java:378)
at org.apache.bizserver.docs.ContainerComponent.initialize(ContainerComponent.java:23)
The call actually does
public void initialize() throws Exception {
DefaultConfigurationBuilder builder = new
DefaultConfigurationBuilder();
Configuration sysConfig = builder.buildFromFile(
"/home/hans/casopis/system.xml");
this.manager.contextualize(new DefaultContext());
this.manager.configure(sysConfig);
this.manager.initialize();
}
The evil happens in the configure() call - when commented out,
it works, except the components are not configured, of course :-)
Could this be due to errors in system.xml? It's copied directly
from DwAA:
<my-system>
<component
role="org.apache.avalon.excalibur.datasource.DataSourceComponentSelector"
class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector">
<component-instance name="documents"
class="org.apache.avalon.excalibur.datasource.JdbcDataSource">
<pool-controller min="5" max="10"/>
<auto-commit>false</auto-commit>
<driver>org.mysql.MySqlDriver</driver>
<dburl>jdbc:mysql:localhost/mydb</dburl>
<user>test</user>
<password>test</password>
</component-instance>
<component-instance name="security"
class="org.apache.avalon.excalibur.datasource.JdbcDataSource">
<pool-controller min="5" max="10"/>
<auto-commit>false</auto-commit>
<driver>org.mysql.MySqlDriver</driver>
<dburl>jdbc:mysql:localhost/myotherdb</dburl>
<user>test</user>
<password>test</password>
</component-instance>
</component>
<component
role="org.apache.bizserver.docs.DocumentRepository"
class="org.apache.bizserver.docs.DatabaseDocumentRepository">
<dbpool>documents</dbpool>
</component>
<component
role="org.apache.bizserver.docs.GuardianComponent"
class="org.apache.bizserver.docs.DocumentGuardianComponent">
<dbpool>security</dbpool>
<policy file="/home/system/document.policy"/>
</component>
</my-system>
Or is it because something else? I don't expect Excalibur actually
tests the db connection when parsing the file, so the meaningless
'myotherdb' etc should matter.
Thanks a lot.
Jan
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>