Created On:  11 February 2011

Problem:

  • Product Name: VisiBroker
  • Product Version: 7.0
  • Product Component: Naming Service
  • Platform/OS Version: All
The following exception is encountered when the naming service is started without the vbsec.jar in the CLASSPATH.
Exception in thread "main" java.lang.NoClassDefFoundError: com/borland/security/csiv2/ObjectAccessPolicy
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at com.inprise.vbroker.naming.ExtFactory.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.borland.security.csiv2.ObjectAccessPolicy
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

Resolution:

The root cause is because the Naming Service requires vbsec.jar in the classpath for its "Method Level Authorization" feature.  Please read Chapter "Using the VisiNaming Service", Section on "Method Level Authorization" of the VisiBroker for Java Developer's Guide.

The solution is to start the Naming Service by ensuring that the vbsec.jar is in the CLASSPATH.
 

Incident #2500023