Skip to Content.
Sympa Menu

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

Subject: Grouper Users - Open Discussion List

List archive

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


Chronological Thread 
  • From: Mark Cairney <>
  • To:
  • Subject: Re: [grouper-users] Class not found error with PSPNG/ Grouper 2.3.0
  • Date: Tue, 5 Dec 2017 12:27:07 +0000
  • Ironport-phdr: 9a23:bzid2BC5XBwJ0jKBaXSBUyQJP3N1i/DPJgcQr6AfoPdwSPT5pMbcNUDSrc9gkEXOFd2CrakV26yO6+jJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fdbghMhzexe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs7Xiiv4qlpRRLmkSsLKzE0+3zThsFwkK5XpRSsrAF9zYHJeoGYLOdwcL3Tfd0aRmRPUMheWCNDDYygYIUCFPYBMORCooXhu1cDoxmzCA+xD+3v0D9IgXr20LU93es7CwHG3xErEswUv3TVttX1MrkdUOCox6TPyjvMdelW2TTn5IXWaB8hoOuMXbRufsvR0kQgCR7Kgk+KpoP5JT+Vy+cNvnGd4uF9W+yvjGsnpBtwojip3soshZPJhoUIylDc6yp52pw5KsegSE5jZ9OvDZhetzmCOodrXM8vR3tktDgnxrAGo5K3YSoHxI45yxLDdfCLa5WE7gznWeqLPzt0mXJodKihixu9/0Ws0O/xWtey3V1XtCRKiMPMuWoI1xHL6siIVP99/kC51DaUyQ/T6+dELl4umaraMJ4t2KA/mYcJvUvZAiD6glj2jKyOekUl/Oin9fjnb637qpOCM4J4kB/yPrkul8ClHOg1MBICU3aH9eiizLHj+Ff2QLROjv04iKnZt5XaKNwcqKGjGQ9V0Zwv5gilADenytQYm2cILVJedR2ZkoflIUvBL+ziAfeigFSgiC1ryOzePr39HpXNKWDOkLj7fbZ69k5c0BQ8zcpG65JJEbEOPujzWlTqudzcDx85KBC0w/35BNln14MeX36PDbGDMKPUr1CI+vwjL/OSa4AIpTauY8QisvH0imIhlEVYYLKkx4A/aXakE+5gLlnDJ3fgn4QvC2AP6y83Vu+io1SDSzhedj7meqsm5XcQAYO8C4rSbo2hxrWKmjq4SM4FLltaA0yBRC+7P76PXO0BPX/KLw==

Hi,

Ignore this for now- the .jar files had been deleted. Re-adding them to
grouper.api/lib/custom has allowed it to proceed.

The grouper_error.log file is now filled with messages like:
2017-12-05 12:23:20,518: [Thread-17] DEBUG
Provisioner.evaluateJexlExpression(382) - - Evaluating Jexl expression:
${utils.containedWithin(provisionerName,
stemAttributes['etc:attribute:userData:provision_to'],
groupAttributes['etc:attribute:userData:provision_to']) &&
!utils.containedWithin(provisionerName,
stemAttributes['etc:attribute:userData:do_not_provision_to'],
groupAttributes['etc:attribute:userData:do_not_provision_to'])}

I suspect I may need to get back to you to figure out an appropriate
filter...


On 05/12/17 10:12, Mark Cairney wrote:
> 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