Changes to Custom Data Sources
Changes to the Spring configuration in JasperReports Server 6.0 can affect custom data sources. This change specifically affects beans which implement the ReportDataSourceServiceFactory interface .
Prior to JasperReports Server 6.0, if code in JasperReports Server accessed a bean of this type, it got the actual instance of the Spring bean as configured in the Spring XML file, and it could be cast to the concrete class. In JasperReports Server 6.0 and later, beans of this type are intercepted and other code sees a dynamic proxy instead of the actual bean. Since proxies can only represent interfaces, existing code that tries to cast the bean to a concrete class will break.
Casting is usually done to get access to methods on a more specific class or interface. You can update your custom data sources as follows:
|•||To access methods on an existing interface, either do a cast to that interface, or inject the property using the existing interface so no cast is needed.|
|•||To access methods not on an existing interface, create an interface with the methods you need and have the target object implement that interface.|
The following changes in 5.6 and later can significantly affect your deployment:
|•||Changes to OLAP engine: Due to change between versions of the OLAP engine, if you use Jaspersoft OLAP's XML/A functionality to connect to a remote JasperReports Server's XML/A sources, you must take additional steps to complete your upgrade to 5.6.|
Changes to OLAP Engine
If you use Jaspersoft OLAP's XML/A functionality to connect to a remote JasperReports Server’s XML/A sources, you must take additional steps to complete your upgrade to 5.6. This is because of a change between versions of the OLAP engine.
Once the new version of JasperReports Server is installed and running, locate all the XML/A connections that point to a remote JasperReports Server instance. Then edit the DataSource field to specify JRS as the DataSource portion of its value.
For example, in previous versions, the Foodmart XML/A connection specified:
During upgrade, this connection must be changed to:
Note that for 5.6, the trailing semicolon should be removed (the older 5.5 syntax includes a semicolon at the end).
For more information about creating and editing XML/A connections, refer to the Jaspersoft OLAP User Guide.
One reason you might have XML/A connections to remote instances of JasperReports Server is to create a load-balanced Jaspersoft OLAP environment. For more information, refer to the Jaspersoft OLAP Ultimate Guide.