cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Catching java.lang.ClassCastException: com.sap.engine.services.applocking.LogicalLockingFactory

0 Likes
236

Hi experts,

I´m developing a HA SAP PI adapter and I´m struggling trying to get an instance of a LogicalLockingFactory.

Following SAP indications, the command that I´m using is:

LogicalLockingFactory lf = (LogicalLockingFactory) ctx.lookup(LogicalLockingFactory.JNDI_NAME);

I get a casting exception: Catching java.lang.ClassCastException: com.sap.engine.services.applocking.LogicalLockingFactory.

I have tried with the PortableRemoteObject flavor and I keep on getting the same exception:

com.sap.engine.services.applocking.LogicalLockingFactory lf = (com.sap.engine.services.applocking.LogicalLockingFactory) PortableRemoteObject.narrow(remoteObj, com.sap.engine.services.applocking.LogicalLockingFactory.class);

I have tried TableLocking, and it works fine with the similar command:

com.sap.engine.services.applocking.TableLocking tl = (com.sap.engine.services.applocking.TableLocking) PortableRemoteObject.narrow(remoteTableObj, com.sap.engine.services.applocking.TableLocking.class);

I have noticed that the object being retrieved from the context is quite different between TableLocking lookup and LogicalLockingFactory:

For TableLocking I get:

com.sap.engine.services.applocking.TableLockingImpl@3d7af5df

For LogicalLockingFactory I get:

RMI_P4: Local Dynamic Stub for impl -> com.sap.engine.services.applocking.LogicalLockingFactoryImpl@529cf253
------ P4 Remote Object Info : com.sap.engine.services.rmi_p4.server.P4ServerObjectInfo@f2
|- broker id : 2070684741
|- server id : 22368650
|- client Id : -1
|- local Id : 22368650
|- key : 00 00 00 F2 00 00 00 00 3A 68 A3 2E ...ò....:h£.
|- is redirectable : false
|- redir Ident :
|- factory Name : null
|- objId : null
|- server loader name : null
|- connected : false
|- supportOptimization : true
|- protocol : 76 31 v1
Remote Interfaces :
Interface : [0] = com.sap.engine.services.applocking.LogicalLockingFactory
Interface : [1] = com.sap.engine.frame.core.locking.LockingConstants
=========================================
Connection profiles :

connection profile : [0] = None:172.30.10.131:50204
connection profile : [1] = None:10.25.25.131:50204
connection profile : [2] = None:10.11.11.131:50204
=========================================

I´m importing for this the following libraries:

import javax.naming.InitialContext;

import javax.naming.NamingException;

import com.sap.engine.services.applocking.LogicalLockingFactory;

import com.sap.engine.services.applocking.TableLocking;

import javax.rmi.PortableRemoteObject;

The .RAR file contains no libraries, and it´s connector-j2ee-engine.xml loads the following references.

<loader-references>

<loader-name strength='hard'>service:engine.service.facade</loader-name>

<loader-name strength='hard'>service:engine.application.facade</loader-name>

<loader-name strength='hard'>service:engine.security.facade</loader-name>

<loader-name strength='hard'>library:engine.j2ee14.facade</loader-name>

<loader-name strength='hard'>library:com.sap.base.technology.facade</loader-name>

<loader-name strength='hard'>library:com.sap.aii.af.lib.facade</loader-name>

<loader-name strength='hard'>interface:com.sap.aii.af.ifc.facade</loader-name>

<loader-name strength='hard'>service:com.sap.aii.af.svc.facade</loader-name>

<loader-name strength='hard'>service:engine.client.facade</loader-name>

</loader-references>

Any help would be much appreciated.

Thanks in advance.

Accepted Solutions (0)

Answers (0)