Broker Load Issue 6.1 to 6.5 migration

I am trying to migrate the ADL files from 6.1 broker to 6.5 broker.

I get the following exception when we export the ADL files from 6.1 broker to 6.5 broker (both in Red hat Linux-ES-3).

Exception in thread “main” java.lang.NullPointerException
at COM.activesw.api.integration.IntegrationSession.scanAndCollectEvents(IntegrationSession.java:3511)
at COM.activesw.api.integration.IntegrationSession.applyImportInformation(IntegrationSession.java:3061)
at COM.activesw.tools.util.ImportExportTools.importGroupsAndTypes(ImportExportTools.java:242)
at COM.activesw.tools.util.ImportExportTools.importGroupsAndTypes(ImportExportTools.java:266)
at COM.activesw.tools.cmdline.BrokerLoad.importGroupsTypesAndClients(BrokerLoad.java:321)
at COM.activesw.tools.cmdline.BrokerLoad.load(BrokerLoad.java:526)
at COM.activesw.tools.cmdline.BrokerLoad.connectAndLoad(BrokerLoad.java:689)
at COM.activesw.tools.cmdline.BrokerLoad.main(BrokerLoad.java:822)
I used the command line utility “broker_save” to create the file in 6.1 and “broke_load” to import the file in 6.5 environment.

The ADL file is of the size: 9M and the Both 6.1 and 6.5 broker-host server have enough free memory (about 500 M) to process the file.

I also tried the broker_load command with -Xmx option, but no progress.

Is there anything I am missing? Thanks,

The broker_load program verifies the relationship between broker-clients,client-group,document-types and Integration components (4.6) - upon loading the ADL file. It turns out the ADL file is incomplete (corrupt). I used the ADL file from another environment (TEST) and loaded to DEV, and then changed all the configurations to point to DEV instance. Now everything is working fine.

BTW, if your ADL contains JMS Topic Connection Factory definitions containing a “ConnectionClientID” property, you will probably not be able to import that ADL into a target broker without manually editing it.

The error below is displayed

[FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]unknown field  "ConnectionClientId", valid are:  ConnectionClientId =  "[I]client_id[/i]";[/font][/color][/COLOR][/size][/FONT] 

The workaround is to edit the ADL to add the following line to the infoset definition for “Context”

Unicode_string ConnectionClientId” 

after the UseXA and before the BrokerName elements

The updated Infoset should look like this:

[FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]   infoset  Context {[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]        struct  {[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]             unicode_string Name;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]             struct {[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 unicode_string TopicName;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 boolean SharedState;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 unicode_string EventType;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 unicode_string SharedStateOrdering;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]            }  Topic;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]             struct {[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 unicode_string Type;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 boolean UseXA;[/font][/color][/COLOR][/size][/FONT]
[B]   [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]              unicode_string ConnectionClientId;[/font][/color][/COLOR][/size][/FONT][/b][FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]
                  unicode_string BrokerName;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 unicode_string BrokerHost;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 boolean SSLEncrypted;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 unicode_string ClientGroup;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]                 unicode_string Application;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]            }  ConnectionFactory;[/font][/color][/COLOR][/size][/FONT]
 [FONT=Courier New][SIZE=2][COLOR=navy][COLOR=navy][FONT=Courier New]        }  Entries[] = {[/font][/color][/COLOR][/size][/FONT]

After making this change, the ADL can be imported successfully.

Apparently, WM is still trying to decide if this is a defect or if not being able to import something created by your own tool is “as designed”. :slight_smile:

Mark