Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.2
-
None
-
Patch available
Description
The DatabaseReader and SQLTransformer components fail to obtain the configured data source and throw a ServiceException like "Component with 'org.apache.avalon.excalibur.datasource.DataSourceComponent/personnel' is not defined in this service manager. (Key='AvalonServiceManager')". The failing function call in both cases is:
this.manager.lookup(DataSourceComponent.ROLE + '/' + datasourceName)
The result is the same regardless of whether the data source is defined as an Avalon component or a Spring bean.
Changing the code to use ServiceSelector as in the "Creating a Reader" document [1] and the modular database actions solves the problem for both cases. The attached patch applies this modification to DatabaseReader.java.
[1] http://cocoon.zones.apache.org/daisy/cdocs/g1/g1/g2/g1/g2/681.html
this.manager.lookup(DataSourceComponent.ROLE + '/' + datasourceName)
The result is the same regardless of whether the data source is defined as an Avalon component or a Spring bean.
Changing the code to use ServiceSelector as in the "Creating a Reader" document [1] and the modular database actions solves the problem for both cases. The attached patch applies this modification to DatabaseReader.java.
[1] http://cocoon.zones.apache.org/daisy/cdocs/g1/g1/g2/g1/g2/681.html
Attachments
Attachments
Issue Links
- relates to
-
COCOON-2083 Allow database connections defined as Spring beans to be used in Avalon components
- Closed