All configuration for the ESB link goes into grouper-loader.properties. You can have multiple instances of consumers and listeners, but be careful to keep ports, usernames etc. unique.
Example 1:
# sample configuration to send MEMBERSHIP_DELETE & MEMBERSHIP_ADD events to one port on an # ESB, and MEMBERSHIP_DELETE, MEMBERSHIP_ADD, GROUP_DELETE & GROUP_ADD events to another by running 2 # changelog consumers # this configuration is an example for directories which require the user DN to be present # in an attribute on the group, and the group DN to be present in an attribute on the user # Novell eDirectory and Microsoft Active Directory both need this for proper operation changeLog.consumer.httpTest.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer changeLog.consumer.httpTest.elfilter = event.eventType eq 'MEMBERSHIP_DELETE' || event.eventType eq 'MEMBERSHIP_ADD' changeLog.consumer.httpTest.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbHttpPublisher changeLog.consumer.httpTest.publisher.url = http://localhost:4567 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:4568
Example 2:
# Sample conifiguration to sync to OpenLdap where only Group objects need to be changed. Note than # in OpenLDAP a groupOfUnique names must have at lease one member, but this is not reuquired to # resolve to the DN of a real object changeLog.consumer.httpOpenLdapTest.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer changeLog.consumer.httpOpenLdapTest.elfilter = event.eventType eq 'GROUP_DELETE' || event.eventType eq 'GROUP_ADD' || event.eventType eq 'MEMBERSHIP_DELETE' || event.eventType eq 'MEMBERSHIP_ADD' changeLog.consumer.httpOpenLdapTest.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbHttpPublisher changeLog.consumer.httpOpenLdapTest.publisher.url = http://localhost:4568 # next line consists of a list of additional subject attributes to send with each event, these # attributes must be provided from the source changeLog.consumer.httpOpenLdapTest.publisher.addSubjectAttributes = cardiffidmanaffiliation
Example 3:
# Sample config to run a server listening for incoming events from an ESB esb.listeners.http.enable = false esb.listeners.http.port = 8443 esb.listeners.http.bindaddress = 127.0.0.1 esb.listeners.http.authConfigFile = /home/rob/Customers/Internet2/users # ssl config parameters - see http://docs.codehaus.org/display/JETTY/How+to+configure+SSL for details # of how to use certs in Jetty esb.listeners.http.ssl.keystore = /home/rob/tests/keystore esb.listeners.http.ssl.keyPassword = changeit esb.listeners.http.ssl.trustStore = /home/rob/tests/keystore esb.listeners.http.ssl.trustPassword = changeit esb.listeners.http.ssl.password = changeit
Example 4:
# Sample config for sending events from Grouper to a recipient on and XMPP (Jabber) server changeLog.consumer.xmppTest.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer changeLog.consumer.xmppTest.elfilter = event.eventType eq 'GROUP_DELETE' || event.eventType eq 'GROUP_ADD' || event.eventType eq 'MEMBERSHIP_DELETE' || event.eventType eq 'MEMBERSHIP_ADD' changeLog.consumer.xmppTest.publisher.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbXmppPublisher changeLog.consumer.xmppTest.publisher.server = 10.0.0.147 changeLog.consumer.xmppTest.publisher.port = 5222 changeLog.consumer.xmppTest.publisher.username = groupersend changeLog.consumer.xmppTest.publisher.password = groupersend changeLog.consumer.xmppTest.publisher.recipient = rob@procopius changeLog.consumer.xmppTest.publisher.addSubjectAttributes = cardiffidmanaffiliation
Example 5:
# Sample config to run a client that will monitor an XMPP server for events (messages) sent # from a certain address and process them esb.lisenters.xmpp.enable = true esb.listeners.xmpp.server = 10.0.0.147 esb.listeners.xmpp.port = 5222 esb.listeners.xmpp.username = grouper esb.listeners.xmpp.password = grouper esb.listeners.xmpp.sendername = rob@procopius