Jim Alateras wrote:
I was wondering whether anyone can advice me on how to correctly configure the datasource component within merlin. This is what I have tried but I get an exception when I execute the block.
1. In the block.xml I use the include directive
<container name="pep"> : : <include name="jdbc-manager" id="cornerstone-datasources:cornerstone-datasources-impl" version="1.0" />
</container>
OK - so the result of the above is that the container you have defined is exposing itself as a DataSourceSelector service.
2. In the config.xml I have the following
<targets> <target path="/pep/jdbc-manager/manager"> <configuration> <data-sources> <data-source name="maindb" class="org.apache.avalon.excalibur.datasource.JdbcDataSource"> <pool-controller min="5" max="10" /> <driver>org.gjt.mm.mysql.Driver</driver> <dburl>jdbc:mysql:/localhost/test</dburl> <user>mysql</user> <password>mysql</password> <auto-commit>true</auto-commit> </data-source> </data-sources> </configuration> </target> : : </targets>
3. In one of my other services, I try to use the datasource like this
DataSourceComponent ds = (DataSourceComponent)_dsSelector.select("maindb");
First off - your attempting to narrow to a component implementation instread of the service it exposes. I would have assumed that you would resolve the DataSourceSelector service from the service manager, then incoke select on the returned selector.
But when this service executes I get the following error
java.lang.NullPointerException
Umm .. this is a worry - you should not be getting a NPE.
Any chance you could throw together a testcase?
Stephen.
--
Stephen J. McConnell mailto:[EMAIL PROTECTED]
|------------------------------------------------| | Magic by Merlin | | Production by Avalon | | | | http://avalon.apache.org/merlin | | http://dpml.net/ | |------------------------------------------------|
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
