Skip to Content.
Sympa Menu

grouper-users - [grouper-users] Re: How do I get the ESB to fire events

Subject: Grouper Users - Open Discussion List

List archive

[grouper-users] Re: How do I get the ESB to fire events


Chronological Thread 
  • From: "Bryan E. Wooten" <>
  • To: Chris Hyzer <>, "Bryan E. Wooten" <>, "" <>
  • Subject: [grouper-users] Re: How do I get the ESB to fire events
  • Date: Mon, 1 Jul 2013 18:56:45 +0000
  • Accept-language: en-US
  • Authentication-results: sfpop-ironport02.merit.edu; dkim=neutral (message not signed) header.i=none

Thanks for tip.

I am on vacation this week, just hanging around the house, staying out of the record heat. I'll try and give your suggestion a try early one morning.

Cheers.

From: Chris Hyzer <>
Date: Sunday, June 30, 2013 8:46 PM
To: Bryan Wooten <>, "" <>
Subject: RE: How do I get the ESB to fire events

I got this to work with the api binary:

 

https://spaces.internet2.edu/display/Grouper/Grouper+ESB+Connector

 

Configure in grouper-loader.properties

 

changeLog.consumer.esb.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer

#run every minute

changeLog.consumer.esb.quartzCron = 0 * * * * ?

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.esb.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbHttpPublisher

changeLog.consumer.esb.publisher.url = "http://localhost:8100/whatever/something

 

Copy the grouper/lib/jetty/jetty.jar and jetty-lib.jar to grouper/lib/grouper

Run the loader: gsh -loader

See this event at the HTTP endpoint

 

POST /whatever/something HTTP/1.1

Content-Type: application/json; charset=utf-8

User-Agent: Jakarta Commons-HttpClient/3.0

Host: localhost:8100

Content-Length: 218

{"esbEvent":[

{"displayName":"etc:rulesActAsGroup","eventType":"GROUP_ADD","id":"c0660833739147d996edf35ec0418398","name":"etc:rulesActAsGroup","parentStemId":"453bc7000061473aa9a0f00d0f67c62e","sequenceNumber":"319"}

]}

 

Thanks,

Chris

 

 

From: Bryan E. Wooten []
Sent: Tuesday, June 25, 2013 2:39 PM
To: Bryan E. Wooten; Chris Hyzer;
Subject: RE: How do I get the ESB to fire events

 

Ok, I discovered that when I build grouper by hand I get a lib/jetty directory in the api.

 

So created this dir with the 3 jars in my quick start installation. I then edited gsh.sh and added:

 

#UofU - Add jars to support ESB

GROUPER_CP=${GROUPER_CP}:${GROUPER_HOME}/lib/jetty/*

 

But I am still getting the same class not found error.

 

?

 

-Bryan

 

 

From: [] On Behalf Of Bryan E. Wooten
Sent: Tuesday, June 25, 2013 10:05 AM
To: Chris Hyzer;
Subject: [grouper-users] RE: How do I get the ESB to fire events

 

Thanks for the tip. That is the right name, but now I am getting this error:

 

loader ran successfully: Error: Error processing record 134909, sequenceNumber: 134909, java.lang.RuntimeException: Problem loading class: edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbHttpPublisher

       at edu.internet2.middleware.grouper.util.GrouperUtil.forName(GrouperUtil.java:1592)

        at edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer.processChangeLogEntries(EsbConsumer.java:513)

        at edu.internet2.middleware.grouper.changeLog.ChangeLogHelper.processRecords(ChangeLogHelper.java:242)

 

.

.

.

 

    at edu.internet2.middleware.grouper.app.gsh.GrouperShellWrapper.main(GrouperShellWrapper.java:31)

Caused by: java.lang.NoClassDefFoundError: org/mortbay/jetty/HttpException

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:186)

        at edu.internet2.middleware.grouper.util.GrouperUtil.forName(GrouperUtil.java:1590)

        ... 26 more

Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.HttpException

 

I assume I am missing some jar file in the api/lib/grouper directory? I didn’t see anything about this in the wiki.

 

Thanks,

 

Bryan

 

From: Chris Hyzer []
Sent: Monday, June 24, 2013 11:25 PM
To: Bryan E. Wooten;
Subject: RE: How do I get the ESB to fire events

 

Look in the database in the loader log table, and see the job name for it, and use that.

 

In this case it should be:

 

CHANGE_LOG_consumer_httpTestGroup

 

Thanks,

Chris

 

 

From: [] On Behalf Of Bryan E. Wooten
Sent: Monday, June 24, 2013 11:27 AM
To:
Subject: [grouper-users] How do I get the ESB to fire events

 

I have simple server listening on port 80 and added the following to my grouper-loader.properties:

 

changeLog.consumer.httpTestGroup.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer

changeLog.consumer.httpTestGroup.elfilter = event.eventType eq 'MEMBERSHIP_DELETE' || event.eventType eq 'MEMBERSHIP_ADD || event.eventType eq 'GROUP_DELETE' || event.eventType eq 'GROUP_ADD'

changeLog.consumer.httpTestGroup.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbHttpPublisher

changeLog.consumer.httpTestGroup.publisher.url = " http://localhost:80

 

I think I need to run loaderRunOneJob("CHANGE_LOG_changeLogTempToChangeLog")

 

And then run:

 

loaderRunOneJob("CHANGE_LOG_something”)

 

I just don’t know what “something” should be.

 

Any help appreciated.

 

-Bryan




Archive powered by MHonArc 2.6.16.

Top of Page