Skip to Content.
Sympa Menu

grouper-users - [grouper-users] Class not found error with PSPNG/ Grouper 2.3.0

Subject: Grouper Users - Open Discussion List

List archive

[grouper-users] Class not found error with PSPNG/ Grouper 2.3.0


Chronological Thread 
  • From: Mark Cairney <>
  • To: "" <>
  • Subject: [grouper-users] Class not found error with PSPNG/ Grouper 2.3.0
  • Date: Tue, 5 Dec 2017 10:12:37 +0000
  • Ironport-phdr: 9a23:BuZBbhKrvoBLK6cQnNmcpTZWNBhigK39O0sv0rFitYgeL/3xwZ3uMQTl6Ol3ixeRBMOAuqIC07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9ZDeZwZFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QrcoVDms7apmRgbkhDsIOjUk9G3aitB8gKddrRm8pRJw3pTUbZmLOvR+Y63Tft0USmROUclNWCJMGZ+8YokVAuYdIepVoYvwql0TphW+HwmsA+bvxydPiHDsx6060PkqHB/c0wwhBdIOtmrbrdXoP6oVVu661rPIzTbZY/5Iwzj96ZLIchY/rvCMRr9/b9fexVM1GAzZlFmQtI/lMiqT2+8QvWab6O9gWviui24hswxxrSKvxsAxionRmI0V0ErI+j9hwIYtI9CzVU11Yca8HZdNqS2XM5F6Tt0/T2xooio2178LtYSlcCQW1pgr3wPTZ+KDfoSS/B7vSeacLS1miH9qdr+znRS//Vamx+bhTMe7ykxKoTBAktTUtnACyRjT6s+fR/tm4Eih2DCP2B7J5uFFOkA4j7TUJIM7zrEqipUfq1nDHizulEX3iq+ZaFkk9/C15+j5ZrjqvIGQO5J0hw3kL6gjmNazDfokPgQQR2Sb/P6z1Lzn/U33WrVKifg2n7Hevp/AP8QbpbS1DhFP3YYi8Ra/CSmp0dQDkHYZMV1JYgiIgJTzN1HTI/D0Fe2/jEi0kDd32/DGOaXsAprXLnjEjbfhZahy61RFxAou1tBQ+YhUCqoaLfL3W0/xr8DYDgQnPwCuwubnDsl92Z0EWWKJHKCZLL3evUWW6e0yPunfLLMS7XzyMf84//P0yGIilEUGVaivwZYNbn2kRLJrL1jTKS7jmNAcCWoQ+xclQfbxoFyETTNJYXuuBeQx6ixtW6y8CoKWY4m3g/Sq1SahGJBHLjRjA0qPV1zhdp+CVuYkZS7UK8Qnjz9SBuvpcJMoyRz77Fyy8LFgNOeBp3UV

Hi,

I'm just starting to build my config for PSPNG but am getting the
following ClassNotFound error and I'm not sure if this is indicative of
an error in the config or with the Grouper installation. The
grouper-pspng .jar files weren't present after the upgrade so I naively
dropped them into grouper.api-2.3.0/lib/custom

Grouper error: problem finding class: changeLog.consumer.pspng_AD.class
from grouper-loader.properties:
edu.internet2.middleware.grouper.pspng.PspChangelogConsumerShim,
java.lang.RuntimeException: Problem loading class:
edu.internet2.middleware.grouper.pspng.PspChangelogConsumerShim
at
edu.internet2.middleware.grouper.util.GrouperUtil.forName(GrouperUtil.java:1813)
at
edu.internet2.middleware.grouper.misc.GrouperCheckConfig.checkGrouperLoaderConsumers(GrouperCheckConfig.java:1091)
at
edu.internet2.middleware.grouper.app.loader.GrouperLoader.main(GrouperLoader.java:116)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShell.handleSpecialCase(GrouperShell.java:209)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShell.main(GrouperShell.java:149)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShellWrapper.main(GrouperShellWrapper.java:31)
Caused by: java.lang.ClassNotFoundException:
edu.internet2.middleware.grouper.pspng.PspChangelogConsumerShim
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at
edu.internet2.middleware.grouper.util.GrouperUtil.forName(GrouperUtil.java:1811)
... 9 more

My grouper-loader.properties file contains the following (I've removed
the servers and credentials from the pool sections:

# CAUTH LDAP Pool
ldap.cauth.ldapUrl = ldaps://********
ldap.cauth.bindDn = ********
ldap.cauth.bindCredential = ********!

# AD LDAP Pool
ldap.AD.ldapUrl = ldap://********
ldap.AD.bindDn = ********
ldap.AD.bindCredential =********

# CAUTH GROUPS:
changeLog.consumer.pspng_cauth.class =
edu.internet2.middleware.grouper.pspng.PspChangelogConsumerShim
changeLog.consumer.pspng_cauth.type =
edu.internet2.middleware.grouper.pspng.LdapGroupProvisioner
changeLog.consumer.pspng_cauth.quartzCron = 0 * * * * ?
changeLog.consumer.pspng_cauth.ldapPoolName = cauth
changeLog.consumer.pspng_cauth.memberAttributeName = member
changeLog.consumer.pspng_cauth.memberAttributeValueFormat =
${ldapUser.getDn()}
changeLog.consumer.pspng_cauth.groupSearchBaseDn =
ou=grouper2,dc=authorise-dev,dc=ed,dc=ac,dc=uk
changeLog.consumer.pspng_cauth.allGroupsSearchFilter =
objectclass=posixGroup
changeLog.consumer.pspng_cauth.singleGroupSearchFilter =
(&(objectclass=posixGroup)(cn=${group.name}))
# Obviously, gidNumber should be based on a grouper-group attribute
changeLog.consumer.pspng_cauth.groupCreationLdifTemplate = dn:
cn=${group.name},${utils.bushyDn(group.name, "cn",
"ou")},ou=grouper2,dc=authorise-dev,dc=ed,dc=ac,dc=uk||cn:
${group.name}||objectclass: posixGroup||objectclass:
groupOfNames||gidNumber: ${group.gid}
changeLog.consumer.pspng_cauth.userSearchBaseDn =
ou=people,ou=central,dc=authorise-dev,dc=ed,dc=ac,dc=uk
changeLog.consumer.pspng_cauth.userSearchFilter = uid=${subject.id}
changeLog.consumer.pspng_cauthsvn status.isActiveDirectory = FALSE

# AD GROUPS:
changeLog.consumer.pspng_AD.class =
edu.internet2.middleware.grouper.pspng.PspChangelogConsumerShim
changeLog.consumer.pspng_AD.type =
edu.internet2.middleware.grouper.pspng.LdapGroupProvisioner
changeLog.consumer.pspng_AD.quartzCron = 0 * * * * ?
changeLog.consumer.pspng_AD.ldapPoolName = AD
changeLog.consumer.pspng_AD.memberAttributeName = member
changeLog.consumer.pspng_AD.memberAttributeValueFormat = ${ldapUser.getDn()}
changeLog.consumer.pspng_AD.groupSearchBaseDn =
OU=grouper,DC=adtest,DC=ed,DC=ac,DC=uk
changeLog.consumer.pspng_AD.allGroupsSearchFilter = objectclass=group
changeLog.consumer.pspng_AD.singleGroupSearchFilter =
(&(objectclass=group)(cn=${group.name}))
# Obviously, gidNumber should be based on a grouper-group attribute
changeLog.consumer.pspng_AD.groupCreationLdifTemplate = dn:
cn=${group.name}||cn: ${group.name}||objectclass:
posixGroup||objectclass: groupOfNames||gidNumber: ${group.gid}
changeLog.consumer.pspng_AD.userSearchBaseDn =
OU=UoE,DC=adtest,DC=ed,DC=ac,DC=uk
changeLog.consumer.pspng_AD.userSearchFilter = samaccountname=${subject.id}
changeLog.consumer.pspng_AD.isActiveDirectory = TRUE

#FULL SYNC
changeLog.psp.fullSync.class =
edu.internet2.middleware.grouper.pspng.FullSyncStarter
changeLog.psp.fullSync.quartzCron = 0 0 5 * * ?
# This happens in the background, so should usually be enabled, and
should _definitely_
# be enabled when new provisioners are added
changeLog.psp.fullSync.runAtStartup = true


--
/****************************

Mark Cairney
ITI Enterprise Services
Information Services
University of Edinburgh

Tel: 0131 650 6565
Email:

PGP: 0x435A9621

*******************************/

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.



Archive powered by MHonArc 2.6.19.

Top of Page