Should the @Clustername be Used When Logging On using BusinessObjects Enterprise XI Release 2 Java SDK?

[] [] [] []

Related:

  1. BusinessObjects Enterprise XI R2 BIPlatform Web Services – How do you Determine If a Parameter is Used in a Crystal Report?Symptom BusinessObjects Enterprise XI Release 2 BIPlatform Web Services Java...
  2. How to run the BusinessObjects servers on domain account?Symptom BusinessObjects Enterprise (BOE) services run under the ‘localsystem’ account...
  3. How to configure XI 3.1 Query Builder tool to communicate to BusinessObjects Enterprise using SSL?Symptom BusinessObjects Enterprise XI 3.1 servers configured to use SSL...
  4. How to hide the Information OnDemand icon/link in BusinessObjects XI Release 2 Service Pack 3 InfoView on WebSphereSymptom How to hide theInformation OnDemandicon/link in BusinessObjects XI Release...

Symptom
Logon using the CMS cluster name (@clustername) fails with Enterprise Java SDK.Logon succeeds when a member CMS name.Why does the @clustername logon fail?
Cause
Enterprise Java SDK XI Release 2 and older do not persist CMS cluster member lists between application startup.Whenever an Enterprise Java SDK is started up, it must be ‘bootstrapped’ – connect to a member CMS nameserver, to retrieve the cluster name and CMS members in the cluster, that it persists in memory.After ‘bootstrapping’, the @clustername will work.Enterprise COM and .NET SDK persist the CMS cluster member list in memory.Enterprise Java SDK XI 3.x and newer persist the CMS cluster member in a dotfile.
Resolution
Store the list of CMS member in your Java application, and round-robin attempt to log onto each member, till a successful logon is attained:
final String[] CMS_MEMBERS = {"cms_one", "cms_two"};
IEnterpriseSession enterpriseSession = null;
for(int i = 0, m = CMS_MEMBERS.length ; i < m ; i++) {
 ?try {
   ?enterpriseSession = CrystalEnterprise.getSessionMgr().logon(username, password, CMS_MEMBERS[i], authenticationType);
   ?break;
 ?} catch(Exception e_maybe_cms_is_down) {
   ?// log here
 ?}
}
if(enterpriseSession == null) {
 ?throw Exception("Could not log onto CMS cluster.");
}

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Leave a Comment