Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
Description
2018-04-06 12:34:52,802: [DefaultQuartzScheduler_Worker-2] ERROR EsbConsumer.processChangeLogEntries(551) - - problem
java.lang.IllegalArgumentException: For ActiveMQ, autoCreateObjects has to be set to true.
at edu.internet2.middleware.grouperMessagingActiveMQ.GrouperMessagingActiveMQSystem.validate(GrouperMessagingActiveMQSystem.java:219)
at edu.internet2.middleware.grouperMessagingActiveMQ.GrouperMessagingActiveMQSystem.send(GrouperMessagingActiveMQSystem.java:61)
at edu.internet2.middleware.grouperClient.messaging.GrouperMessagingEngine.send(GrouperMessagingEngine.java:60)
at edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbMessagingPublisher.dispatchEvent(EsbMessagingPublisher.java:58)
at edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer.processChangeLogEntries(EsbConsumer.java:525)
at edu.internet2.middleware.grouper.changeLog.ChangeLogHelper.processRecords(ChangeLogHelper.java:245)
at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$5.runJob(GrouperLoaderType.java:640)
at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.runJob(GrouperLoaderJob.java:465)
at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.execute(GrouperLoaderJob.java:345)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Here is what my grouper-loader.properties looks like:
=======================
loader.messaging.settings.autocreate.objects = true
changeLog.consumer.esb.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer
changeLog.consumer.esb.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbMessagingPublisher
changeLog.consumer.esb.publisher.messagingSystemName = activemq
changeLog.consumer.esb.publisher.messageQueueType = topic
changeLog.consumer.esb.publisher.queueOrTopicName = IAM.account.membership
#run every 30 secs
changeLog.consumer.esb.quartzCron = 0,30 * * * * ?
changeLog.consumer.esb.elfilter = event.eventType eq 'GROUP_DELETE' || event.eventType eq 'GROUP_ADD' || event.eventType eq 'MEMBERSHIP_DELETE' || event.eventType eq 'MEMBERSHIP_ADD'
changeLog.consumer.boxEsb.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer
changeLog.consumer.boxEsb.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbMessagingPublisher
changeLog.consumer.boxEsb.quartzCron = 0,30 * * * * ?
- carefully adjust this filter e.g. for sourceId and groupName
changeLog.consumer.boxEsb.elfilter = (event.sourceId == null || event.sourceId eq 'jdbc') && (event.groupName =~ '^svc:box:groups:.$' || event.groupName eq 'svc:box:boxUser' || event.name =~ '^svc:box:groups:.$' || event.name eq 'svc:box:boxUser') && (event.eventType eq 'GROUP_DELETE' || event.eventType eq 'GROUP_ADD' || event.eventType eq 'GROUP_UPDATE' || event.eventType eq 'MEMBERSHIP_DELETE' || event.eventType eq 'MEMBERSHIP_ADD' || event.eventType eq 'MEMBERSHIP_UPDATE')
changeLog.consumer.boxEsb.publisher.messagingSystemName = activemq
changeLog.consumer.boxEsb.publisher.messageQueueType = topic
changeLog.consumer.boxEsb.publisher.queueOrTopicName = IAM.box.membership - this is optional if not using "id" for subjectId, need to be a subject attribute in the sources.xml
changeLog.consumer.boxEsb.publisher.addSubjectAttributes = email
=======================
And the grouper.client.properties:
=======================
loader.messaging.settings.autocreate.objects = true
- name of messaging system which is the default
grouper.messaging.default.name.of.messaging.system = activemq
- name of a messaging system, required
grouper.messaging.system.activemq.name = activemq
grouper.messaging.system.activemq.defaultSystemName = activemqSystem
grouper.messaging.system.activemq.username = USERNAME
grouper.messaging.system.activemq.password = PASSWORD
- Default settings for activemq (can use as base to change userids)
grouper.messaging.system.activemqSystem.name = activemqSystem
grouper.messaging.system.activemqSystem.class = edu.internet2.middleware.grouperMessagingActiveMQ.GrouperMessagingActiveMQSystem
grouper.messaging.system.activemqSystem.host = HOSTNAME
grouper.messaging.system.activemqSystem.port = 5672
grouper.messaging.system.activemqSystem.defaultPageSize = 10
grouper.messaging.system.activemqSystem.maxPageSize = 50