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.|
Changes to Domain Security Files
In JasperReports® Server 6.0, we added support for hierarchical attributes, which can be assigned at the server, organization, or user level. Existing Domain security files only detect attributes assigned at the user level. Even if other attributes are present, the security file does not detect them. See the section "Working with Hierarchical Attributes" in the JasperReports® Server Security Guide for information on how to update your security file.
In 5.6.1, Jaspersoft added TIBCO JDBC drivers for the following commercial databases:
|•||Hive — available as a data source only; cannot be used for the JasperReports® Server repository database.|
The new drivers have the following impact:
|•||If you're upgrading and want to use your current driver for the repository, you must copy the driver to the correct location and modify default_master.properties for the driver you choose. See the section on your upgrade procedure for more information.|
|•||If you're using WebLogic or WebSphere and want to use a TIBCO driver, you need to set up the driver in your application server console. See the JasperReports® Server Installation Guide or the JasperReports® Server Administrator Guide for more information.|
|•||For supported Hive platforms other than Impala and Cloudera 5, you must use the TIBCO JDBC driver.|
The following changes in 5.6 and later can significantly affect your deployment:
|•||Removal of commercial JDBC drivers: if you're using a commercial JDBC driver, you need to copy it to the correct location in your upgraded JasperReports® Server.|
|•||Changes to OLAP engine: Due to change between version 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.|
Removal of Commercial JDBC Drivers
The following commercial database drivers were removed from the JasperReports® Server 5.6 package: Oracle, SQL Server, or DB2. You'll need to obtain a JDBC driver before running the upgrade. In this case, for Oracle, because you most likely have an Oracle JDBC driver in your existing JasperReports Server instance, it's simplest to copy it from that location:
Copy from: <js-install-existing>/buildomatic/conf_source/db/oracle/jdbc/<driver-name>.jar
Copy to: <js-install-5.6>/buildomatic/conf_source/db/oracle/jdbc
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.
Note that if your instance hosts multiple organizations, XML/A connections will fail for superuser. This limitation applies exclusively to the superuser account. To test connections in servers that host multiple organizations, we recommend that you log in as jasperadmin or another administrative account other than superuser.
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.