Due to a known issue do not use JDK1.8.0_151 with WSO2 products. Use JDK 1.8.0_144 until JDK 1.8.0_162-ea is released.
This documentation is for WSO2 Message Broker version 3.2.0. For the latest documentation, see the documentation for WSO2 Enterprise Integrator.
Skip to end of metadata
Go to start of metadata

The instructions on this page take you through the steps for upgrading from MB 3.1.0 to MB 3.2.0. Note that you cannot rollback the upgrade process. However, it is possible to restore a backup of the previous database and restart the upgrade progress.

Preparing to upgrade

The following prerequisites must be completed before upgrading:

  • Make a backup of the databases used for MB 3.1.0.

  • Also, copy the <MB_HOME_3.1.0> directory in order to backup the product configurations.

  • Download WSO2 Message Broker 3.2.0 from http://wso2.com/products/message-broker/.

NOTE: The downtime is limited to the time taken for switching databases when in the production environment.

Upgrading from MB 3.1.0 to MB 3.2.0

WSO2 MB 3.2.0 comes with several database changes compared to WSO2 MB 3.1.0 in terms of the data format used for storing. We are providing a simple tool that you can easily download and run to carry out this upgrade.

Follow the steps given below to upgrade from WSO2 MB 3.1.0 to WSO2 MB 3.2.0.

  1. Disconnect all the subscribers and publishers for WSO2 MB 3.2.0.
  2. Shut down the server.
  3. Run the migration script to update the database:
    1. Open a terminal and navigate to the <MB_HOME>/dbscripts/mb-store/migration-3.1.0_to_3.2.0 directory.
    2. Run the migration script relevant to your database type. For example, if you are using an Oracle, use the following script: oracle-mb.sql.
  4. Download and run the migration tool:
    1. Download the migration tool.

    2. Unzip the org.wso2.mb.migration.tool.zip file. The directory structure of the unzipped folder is as follows:

      |-- lib <folder>
      |-- config.properties <file>
      |-- tool.sh <file>
      |-- README.txt <file>
      |-- org.wso2.carbon.mb.migration.tool.jar

    3. Download the relevant database connector and copy it to the lib directory in the above folder structure. For example, if you are upgrading your MySQL databases, you can download the MySQL connector JAR from http://dev.mysql.com/downloads/connector/j/5.1.html and copy it to the lib directory.
    4. Open the config.properties file from the org.wso2.mb.migration.tool.zip file that you downloaded in step 4 above and update the database connection details shown below. 

      #Configurations for the database

      The parameter in the above file are as follows:

      • dburl: The URL for the database. For example, jdbc:mysql://localhost/wso2_mb
      • driverclassname:The database driver class. For example, com.mysql.jdbc.Driver for MySQL.
      • dbuser: The user name for connecting to the database.
      • dbpassword: The password for connecting to the database.
    5. Update the datasource connection for the MB database in the master-datasources.xml file (stored in the <MB_HOME_320>/repository/conf/datasources directory).
    6. Run the migration tool:

      1. If you are on a Linux environment, open a command prompt and execute the following command: tool.sh.

      2. If you are on a non-Linux environment, execute org.wso2.carbon.mb.migration.tool.jar manually.
  5. Start WSO2 MB 3.2.0.
  6. Reconnect all the publishers and subscribers to MB 3.2.0.

Testing the upgrade

Verify that all the required scenarios are working as expected as shown below. This confirms that the upgrade is successful.

  1. Make sure that the server starts up fine without any errors.
  2. Verify that the Users and Roles are picked up:
    1. Navigate to Configure -> Accounts & Credentials -> Users and Roles
    2. Verify that the list of users and roles are shown correctly.
    3. View the permissions of a chosen role, and make sure that the permissions are correct.
  3. Verify that all the messages to the Queues and Topics have been successfully published in the MB 3.2.0 instance.
  4. Run some of the samples to see that the system is working fine.
  • No labels