http://git-wip-us.apache.org/repos/asf/airavata/blob/89e0fdc8/modules/group-manager/src/main/resources/ehcache.xml ---------------------------------------------------------------------- diff --git a/modules/group-manager/src/main/resources/ehcache.xml b/modules/group-manager/src/main/resources/ehcache.xml new file mode 100755 index 0000000..9b6dcc1 --- /dev/null +++ b/modules/group-manager/src/main/resources/ehcache.xml @@ -0,0 +1,1517 @@ +<!-- + + Copyright 2014 Internet2 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<ehcache updateCheck="false"> + + <!-- Sets the path to the directory where cache .data files are created. --> + <diskStore path="java.io.tmpdir"/> + + + <!-- + Default Cache configuration. These will applied to caches + programmatically created through the CacheManager. + + The following attributes are required for defaultCache: + + maxInMemory - Sets the maximum number of objects that + will be created in memory + eternal - Sets whether elements are eternal. If + eternal, timeouts are ignored and the + element is never expired. + timeToIdleSeconds - Sets the time to idle for an element + before it expires. Is only used if the + element is not eternal. Idle time is now - + last accessed time + timeToLiveSeconds - Sets the time to live for an element + before it expires. Is only used if the + element is not eternal. TTL is now - + creation time + overflowToDisk - Sets whether elements can overflow to + disk when the in-memory cache has reached + the maxInMemory limit. + --> + <defaultCache + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO" + maxElementsInMemory="500" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + /> + + <!-- + Predefined caches. Add your cache configuration settings here. + If you do not have a configuration for your cache a WARNING + will be issued when the CacheManager starts + --> + +<!-- + Grouper Caches +--> + + <!-- class: HibernateMemberDAO --> +<!-- + <cache name="edu.internet2.middleware.grouper.HibernateMemberDAO.FindByUuid" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="10" + overflowToDisk="false" + /> +--> + + <!-- class: HibernateMemberDAO --> + + <!-- class: Hib3MemberDAO --> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3MemberDAO.FindBySubject" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <!-- class: Hib3MemberDAO --> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3MembershipDAO" + maxElementsInMemory="10000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeAssignActionDAO.FindByAttributeDefId" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeAssignDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <!-- Queries --> + +<!-- + Hibernate Query Caches +--> + + <cache name="org.hibernate.cache.internal.StandardQueryCache" + maxElementsInMemory="500" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="org.hibernate.cache.spi.UpdateTimestampsCache" + maxElementsInMemory="5000" + eternal="true" + overflowToDisk="true" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.RegistrySubject" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.GroupTypeTuple" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Field" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.RegistrySubjectAttribute" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.AuditType" + maxElementsInMemory="500" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Attribute" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Composite" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.GroupType" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Membership" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Group" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Stem" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Member" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1" + timeToLiveSeconds="1" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see StemDAO#findByName(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3StemDAO.FindByName" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see StemDAO#findByUuid(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3StemDAO.FindByUuid" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see GroupDAO#findByName(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByName" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see GroupDAO#findByIdIndex(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByIdIndex" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <!-- @see GroupDAO#findByIdIndex(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByIdIndexSecure" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <!-- @see GroupDAO#findByUuid(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByUuid" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefDAO.FindByUuidsSecure" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefNameDAO.FindByUuidsSecure" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefNameDAO.FindByName" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefNameDAO.FindByNameCache" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="60" + timeToLiveSeconds="60" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.audit.AuditType" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.changeLog.ChangeLogType" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="ImmediateMembershipEntry" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.permissions.role.RoleSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.AttributeDefNameSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.assign.AttributeAssignActionSetView" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.AttributeDef" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="MembershipEntry" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.assign.AttributeAssign" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.AttributeDefName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.finder.AttributeDefNameFinder.findByNameCache" + maxElementsInMemory="2000" + eternal="false" + timeToIdleSeconds="60" + timeToLiveSeconds="60" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.AttributeDefScope" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.AttributeDefNameSetView" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.permissions.role.RoleSetView" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.assign.AttributeAssignActionSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.changeLog.ChangeLogConsumer" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.assign.AttributeAssignValue" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.assign.AttributeAssignAction" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefScopeDAO.FindByUuidOrName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="20" + timeToLiveSeconds="20" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefNameDAO.FindByUuidOrName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeAssignValueDAO.FindByAttributeAssignId" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib.Hib3AttributeAssignDAO.FindByAttributeTypeDefNameId" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib.Hib3AttributeDefDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib.Hib3AttributeDefDAO.FindByIdIndex" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3ChangeLogEntryDAO.FindBySequenceNumber" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3FieldDAO.FindAll" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefDAO.FindByName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefDAO.FindByAttributeDefNameIdSecure" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITField" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITFieldDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssign" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignAction" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignActionSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignValue" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignValueView" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeDef" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeDefName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITAttributeDefNameSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITGroup" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITGroupSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITMember" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITMembership" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITMembershipView" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITPermissionAllView" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITRoleSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.pit.PITStem" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionSetDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignValueDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameSetDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupSetDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMemberDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMembershipDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITRoleSetDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITStemDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionSetDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignValueDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameSetDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupSetDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMemberDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMembershipDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITRoleSetDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITStemDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITFieldDAO.FindBySourceIdActive" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + + + <cache name="edu.internet2.middleware.grouper.group.GroupSet" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.externalSubjects.ExternalSubject" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.externalSubjects.ExternalSubjectAttribute" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.attr.value.AttributeAssignValue" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByUuidsSecure" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByNamesSecure" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefDAO.FindById" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3StemDAO.FindByCurrentName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3StemDAO.FindByIdIndex" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3StemDAO.FindByAlternateName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupTypeTupleDAO.FindByUuidOrKey" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3CompositeDAO.FindByUuidOrName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupSetDAO.FindSelfStem" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupSetDAO.FindSelfGroup" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3FieldDAO.FindByUuidOrName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeAssignActionDAO.FindByUuidOrName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefNameDAO.FindAll" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeAssignDAO.FindByUuidOrKey" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupSetDAO.FindByOwnerMemberFieldParentAndType" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AuditTypeDAO.FindByCategory" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AuditTypeDAO.FindByUuidOrName" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="10" + timeToLiveSeconds="10" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AuditEntryDAO.FindByActingUser" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="120" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see CachingAccessResolver#hasPrivilege(...) --> + <cache name="edu.internet2.middleware.grouper.privs.CachingAccessResolver.HasPrivilege" + maxElementsInMemory="500" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + + + <!-- Naming privilege resolving caching --> + + <!-- @see CachingNamingResolver#hasPrivilege(...) --> + <cache name="edu.internet2.middleware.grouper.privs.CachingNamingResolver.HasPrivilege" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- attribute def resolving caching --> + + <cache name="edu.internet2.middleware.grouper.privs.CachingAttrDefResolver.HasPrivilege" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + /> + + + <!-- Subject resolving caching --> + + <!-- @see CachingResolver#find(...) --> + <cache name="edu.internet2.middleware.grouper.subj.CachingResolver.Find" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see CachingResolver#findAll(...) --> + <cache name="edu.internet2.middleware.grouper.subj.CachingResolver.FindAll" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see CachingResolver#findPage(...) --> + <cache name="edu.internet2.middleware.grouper.subj.CachingResolver.FindPage" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see CachingResolver#findByIdentifier(...) --> + <cache name="edu.internet2.middleware.grouper.subj.CachingResolver.FindByIdentifier" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see CachingResolver#findByIdOrIdentifier(...) --> + <cache name="edu.internet2.middleware.grouper.subj.CachingResolver.FindByIdOrIdentifier" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.attr.AttributeDefName.CanAdminAttributeDef" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="5" + timeToLiveSeconds="5" + overflowToDisk="false" + /> + + <!-- @see WheelCache#isWheelMember(...) --> + <cache name="edu.internet2.middleware.grouper.privs.WheelCache.isWheelMember" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see Membership#getGroup(...) --> + <cache name="edu.internet2.middleware.grouper.Membership.getGroup" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see Membership#getStem(...) --> + <cache name="edu.internet2.middleware.grouper.Membership.getStem" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see Membership#getAttributeDef(...) --> + <cache name="edu.internet2.middleware.grouper.Membership.getAttributeDef" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see Hib3MemberDAO#exists(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3MemberDAO.exists" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- @see Hib3MemberDAO#findBySubject/Uuid(...) --> + <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3MemberDAO.find" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + <cache name="AttributeAssignBaseDelegate.allAttributeAssignsCache" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="1200" + timeToLiveSeconds="1200" + overflowToDisk="false" + statistics="false" + /> + <cache name="edu.internet2.middleware.grouper.entity.EntitySubject.EntityAttributeIdCache" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- this is the cache of groups used by user data. will be a small cache, but can last a long time (10 minutes) --> + <cache name="edu.internet2.middleware.grouper.userData.GrouperUserDataUtils.userDataGroupCache" + maxElementsInMemory="100" + eternal="false" + timeToIdleSeconds="600" + timeToLiveSeconds="600" + overflowToDisk="false" + statistics="false" + /> + + <!-- this is the cache of memberships used by user data. will last a long time (10 minutes) --> + <cache name="edu.internet2.middleware.grouper.userData.GrouperUserDataUtils.userDataMembershipCache" + maxElementsInMemory="100" + eternal="false" + timeToIdleSeconds="600" + timeToLiveSeconds="600" + overflowToDisk="false" + statistics="false" + /> + + <!-- this is the cache of attribute values used by user data. will last not a long time (2 minutes) --> + <cache name="edu.internet2.middleware.grouper.userData.GrouperUserDataUtils.userDataAttributeValueCache" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="120" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- this is the cache of results for user data. will last not a long time (2 minutes) --> + <cache name="edu.internet2.middleware.grouper.userData.GrouperUserDataUtils.userDataResultCache" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="120" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- cache of attribute def names for legacy attributes. note, this must be short for tests to work, in prod can be longer --> + <cache name="edu.internet2.middleware.grouper.GroupType.attributeDefNameFromTypeIdCache" + maxElementsInMemory="200" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- cache of set of attribute def names for legacy attributes. note, this must be short for tests to work, in prod can be longer --> + <cache name="edu.internet2.middleware.grouper.GroupType.legacyAttributesFromTypeIdCache" + maxElementsInMemory="200" + eternal="false" + timeToIdleSeconds="30" + timeToLiveSeconds="30" + overflowToDisk="false" + statistics="false" + /> + + <!-- cache of recently created stem names to prevent race conditions of multiple threads creating the same stem --> + <cache name="edu.internet2.middleware.grouper.Stem.stemCreatedCache" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="120" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.Stem.stemLocksCache" + maxElementsInMemory="1000" + eternal="false" + timeToIdleSeconds="120" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <!-- cache of recently created member objects to prevent race conditions of multiple threads creating the same member --> + <cache name="edu.internet2.middleware.grouper.MemberFinder.memberCreatedCache" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="120" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.MemberFinder.memberLocksCache" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="120" + timeToLiveSeconds="120" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.util.GrouperUtil.objectHasAttributeCache" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="60" + timeToLiveSeconds="60" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.messaging.GrouperBuiltinMessagingSystem.messageCache" + maxElementsInMemory="100" + eternal="false" + timeToIdleSeconds="60" + timeToLiveSeconds="60" + overflowToDisk="false" + statistics="false" + /> + + <cache name="edu.internet2.middleware.grouper.hooks.examples.MembershipOneInFolderMaxHook.membershipOneAttribute" + maxElementsInMemory="5000" + eternal="false" + timeToIdleSeconds="60" + timeToLiveSeconds="60" + overflowToDisk="false" + statistics="false" + /> + +</ehcache>
http://git-wip-us.apache.org/repos/asf/airavata/blob/89e0fdc8/modules/group-manager/src/main/resources/grouper-loader.base.properties ---------------------------------------------------------------------- diff --git a/modules/group-manager/src/main/resources/grouper-loader.base.properties b/modules/group-manager/src/main/resources/grouper-loader.base.properties new file mode 100755 index 0000000..6379f03 --- /dev/null +++ b/modules/group-manager/src/main/resources/grouper-loader.base.properties @@ -0,0 +1,351 @@ +# +# Copyright 2014 Internet2 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Grouper loader uses Grouper Configuration Overlays (documented on wiki) +# By default the configuration is read from grouper-loader.base.properties +# (which should not be edited), and the grouper-loader.properties overlays +# the base settings. See the grouper-loader.base.properties for the possible +# settings that can be applied to the grouper.properties + + +######################################## +## Config chaining hierarchy +######################################## + +# comma separated config files that override each other (files on the right override the left) +# each should start with file: or classpath: +# e.g. classpath:grouper-loader.example.properties, file:c:/something/myconfig.properties +loader.config.hierarchy = classpath:grouper-loader.base.properties, classpath:grouper-loader.properties + +# seconds between checking to see if the config files are updated +loader.config.secondsBetweenUpdateChecks = 60 + + +######################################## +## General settings +######################################## + + +# auto-add grouper loader types and attributes when grouper starts up if they are not there +loader.autoadd.typesAttributes = true + +# if a transaction should be used when loading groups. If not, then +# commits will happen as the group is loaded (and memory usage might be +# less intensive, and caching settings need to be set right) +loader.use.transactions = false + +# number of threads in the loader threadpool. Only this number of jobs can run at once +# jobs which are on deck will block, or will fail if the blocking timeout occurs +# a job is running if it is loading (not just scheduled) +loader.thread.pool.size=10 + +# if should use threads in the loader for add/remove member +loader.use.membershipThreads=true + +# number of threads to use for each group job (not shared among jobs) +loader.membershipThreadPoolSize=10 + +# if should use threads in the loader for each group in a group of groups +loader.use.groupThreads=true + +# number of threads to use for each list of groups job (not shared among jobs) +loader.groupThreadPoolSize=20 + +# number of days to retain db logs in table grouperloader_log. -1 is forever. default is 7 +loader.retain.db.logs.days=7 + +# number of days to retain db rows in grouper_change_log_entry. -1 is forever. default is 14 +loader.retain.db.change_log_entry.days=14 + +# if you want queries which do not specify subject source to come from a certain +# source, specify here (improves performance so it doesnt search through all sources) +default.subject.source.id = + +#if using a sql table, and specifying the name like string, then should the group (in addition to memberships) +# be removed if not used anywhere else? +loader.sqlTable.likeString.removeGroupIfNotUsed = true + +# if using a sql table, and specifying the name like string, then should the group be removed even when the group is member of some other group. +# loader.sqlTable.likeString.removeGroupIfNotUsed has to be true for this to work +# https://bugs.internet2.edu/jira/browse/GRP-1132 +loader.sqlTable.likeString.removeGroupIfMemberOfAnotherGroup = false + +# by default the top folder for an ldap group of groups is the folder where the config group lives. +# set to false if you want to be able to provision groups to anywhere +loader.ldap.requireTopStemAsStemFromConfigGroup = true + +# if you dont specify a groupNameExpression, groups will be loaded into this folder +# if this property doesnt exist, it will be groups: if it is blank, then there is no top level folder +# e.g. loader:groups +loader.ldap.defaultGroupFolder = groups: + +# if the loader should check to see too many users were removed, if so, then error out and +# wait for manual intervention +loader.failsafe.use = false + +# if a group has a size less than this (default 200), then make changes including blanking it out +loader.failsafe.minGroupSize = 200 + +# if a group with more members than the loader.failsafe.minGroupSize have more than this percent (default 30) +# removed, then log it as error, fail the job, and don't actually remove the members +# In order to run the job, an admin would need to change this param in the config, +# and run the job manually, then change this config back +loader.failsafe.maxPercentRemove = 30 + +# Comma separated list of stems under which the display name changes in stems are allowed. +# eg: loader.allowStemDisplayNameChangesUnderStems=school:courses:english, school:faculty +loader.allowStemDisplayNameChangesUnderStems = + +################################# +## Performance enhancements +################################# + +# if you want to bulk retrieve subjects to add/remove +loader.bulkLookupSubjects = true + +################################# +## DB connections +################################# +# specify the db connection with user, pass, url, and driver class +# the string after "db." is the name of the connection, and it should not have +# spaces or other special chars in it +#db.warehouse.user = mylogin +#note the password can be stored encrypted in an external file +#db.warehouse.pass = secret +#db.warehouse.url = jdbc:mysql://localhost:3306/grouper + +## note: you probably dont have to enter a driver, it will detect from URL. If it +## cant detect, then specify it here +#db.warehouse.driver = + +################################# +## LDAP connections +################################# +# specify the ldap connection with user, pass, url +# the string after "ldap." is the ID of the connection, and it should not have +# spaces or other special chars in it. In this case is it "personLdap" + +#note the URL should start with ldap: or ldaps: if it is SSL. +#It should contain the server and port (optional if not default), and baseDn, +#e.g. ldaps://ldapserver.school.edu:636/dc=school,dc=edu +#ldap.personLdap.url = ldaps://ldapserver.school.edu:636/dc=school,dc=edu + +# load this vt-ldap config file before the configs here. load from classpath +#ldap.personLdap.configFileFromClasspath = ldap.personLdap.properties + +#optional, if authenticated +#ldap.personLdap.user = uid=someapp,ou=people,dc=myschool,dc=edu + +#optional, if authenticated, note the password can be stored encrypted in an external file +#ldap.personLdap.pass = secret + +#optional, if you are using tls, set this to true. Generally you will not be using an SSL URL to use TLS... +#ldap.personLdap.tls = false + +#optional, if using sasl +#ldap.personLdap.saslAuthorizationId = +#ldap.personLdap.saslRealm = + +#optional (note, time limit is for search operations, timeout is for connection timeouts), +#most of these default to vt-ldap defaults. times are in millis +#validateOnCheckout defaults to true if all other validate methods are false +#ldap.personLdap.batchSize = +#ldap.personLdap.countLimit = +#ldap.personLdap.timeLimit = +#ldap.personLdap.timeout = +#ldap.personLdap.minPoolSize = +#ldap.personLdap.maxPoolSize = +#ldap.personLdap.validateOnCheckIn = +#ldap.personLdap.validateOnCheckOut = +#ldap.personLdap.validatePeriodically = +#ldap.personLdap.validateTimerPeriod = +#ldap.personLdap.pruneTimerPeriod = +# if there is a max size limit on ldap server, then this will retrieve results in pages +#ldap.personLdap.pagedResultsSize = +# set to 'follow' if using AD and using paged results size and need this for some reason (generally you shouldnt) +#ldap.personLdap.referral = + + +################################## +## LDAP loader settings +################################## + +# el classes to add to the el context for the EL to calculate subejct ids or group names etc. +# Comma-separated fully qualified classnamesm will be registered by the non-fully qualified +# uncapitalized classname. So you register a.b.SomeClass, it will be available by variable: someClass +loader.ldap.el.classes = + + +################################## +## Daily report +################################## +#quartz cron-like schedule for daily grouper report, the default is 7am every day: 0 0 7 * * ? +#leave blank to disable this +daily.report.quartz.cron = + +#comma separated email addresses to email the daily report, e.g. [email protected], [email protected] +daily.report.emailTo = + +#days on which usdu should run with daily report (comma separated) +#blank means run never. e.g. to run on all days: monday, tuesday, wednesday, thursday, friday, saturday, sunday +daily.report.usdu.daysToRun = monday, tuesday, wednesday, thursday, friday, saturday, sunday + +#days on which bad membership finder should run with daily report (comma separated) +#blank means run never. e.g. to run on all days: monday, tuesday, wednesday, thursday, friday, saturday, sunday +daily.report.badMembership.daysToRun = monday, tuesday, wednesday, thursday, friday, saturday, sunday + +#if you put a directory here, the daily reports will be saved there, and you can +#link up to a web service or store them or whatever. e.g. /home/grouper/reports/ +daily.report.saveInDirectory = + +################################## +## enabled / disabled cron +################################## + +#quartz cron-like schedule for enabled/disabled daemon. Note, this has nothing to do with the changelog +#leave blank to disable this, the default is 12:01am, 11:01am, 3:01pm every day: 0 1 0,11,15 * * ? +changeLog.enabledDisabled.quartz.cron = 0 1 0,11,15 * * ? + +################################## +## Change log +################################## + +# should the change log temp to change log daemon run? Note, this should be true +changeLog.changeLogTempToChangeLog.enable = true + +#quartz cron-like schedule for change log temp to change log daemon, the default is 50 seconds after every minute: 50 * * * * ? +changeLog.changeLogTempToChangeLog.quartz.cron = + +# Should the change log include flattened memberships? +changeLog.includeFlattenedMemberships = true + +# Should the change log include flattened privileges? +changeLog.includeFlattenedPrivileges = true + +# Should the change log include roles that have had permission changes? +changeLog.includeRolesWithPermissionChanges = false + +# Should the change log include non-flattened (immediate and composite only) memberships? +changeLog.includeNonFlattenedMemberships = false + +# Should the change log include non-flattened (immediate only) privileges? +changeLog.includeNonFlattenedPrivileges = false + + +#specify the consumers here. specify the consumer name after the changeLog.consumer. part. This example is "psp" +#but it could be changeLog.consumer.myConsumerName.class +#the class must extend edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBase +# changeLog.consumer.psp.class = edu.internet2.middleware.psp.grouper.PspChangeLogConsumer + +#the quartz cron is a cron-like string. it defaults to every minute on the minute (since the temp to change log job runs +#at 10 seconds to each minute). it defaults to this: 0 * * * * ? +#though it will stagger each one by 2 seconds +# http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger +# changeLog.consumer.psp.quartzCron = 0 * * * * ? + +# To retry processing a change log entry if an error occurs, set retryOnError to true. Defaults to false. +# changeLog.consumer.psp.retryOnError = false + +# To run full provisioning synchronizations periodically, provide the class name which provides a 'public void fullSync()' method. +# changeLog.psp.fullSync.class = edu.internet2.middleware.psp.grouper.PspChangeLogConsumer + +# Schedule full synchronizations. Defaults to 5 am : 0 0 5 * * ?. +# changeLog.psp.fullSync.quartzCron = 0 0 5 * * ? + +# Run a full synchronization job at startup. Defaults to false. +# changeLog.psp.fullSync.runAtStartup = false + +# Omit diff responses from bulk response to conserve memory. +# changeLog.psp.fullSync.omitDiffResponses = true + +# Omit sync responses from bulk response to conserve memory. +# changeLog.psp.fullSync.omitSyncResponses = true + + +#changeLog.consumer.printTest.class = edu.internet2.middleware.grouper.changeLog.consumer.PrintTest +#changeLog.consumer.printTest.quartzCron = + +#rules consumer, needed for some of the Grouper rule types to run (e.g. flattenedMembershipRemove, flattenedMembershipAdd) +changeLog.consumer.grouperRules.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.RuleConsumer +changeLog.consumer.grouperRules.quartzCron = + +#consumer for syncing groups to other groupers +changeLog.consumer.syncGroups.class = edu.internet2.middleware.grouper.client.GroupSyncConsumer +changeLog.consumer.syncGroups.quartzCron = + + + +################################### +## XMPP notifications +## (note, uncomment the consumer class and cron above) +## this will get grouper ws getMembers rest lite xmp: +## http://anonsvn.internet2.edu/cgi-bin/viewvc.cgi/i2mi/trunk/grouper-ws/grouper-ws/doc/samples/getMembers/WsSampleGetMembersRestLite_xml.txt?view=log +################################### + +## general xmpp configuration +xmpp.server.host = jabber.school.edu +xmpp.server.port = 5222 +xmpp.user = username +# note, pass can be in an external file with morphstring +xmpp.pass = +xmpp.resource = grouperServer + +################################### +## Rules config +################################### + +# when the rules validations and daemons run. Leave blank to not run +rules.quartz.cron = 0 0 7 * * ? + +##################################### +## ESB integration +##################################### + +#changeLog.consumer.awsJira.quartzCron = 0/15 * * * * ? +#changeLog.consumer.awsJira.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer +#changeLog.consumer.awsJira.elfilter = event.eventType eq 'MEMBERSHIP_ADD' || event.eventType eq 'MEMBERSHIP_ADD' +#changeLog.consumer.awsJira.noSensitiveData = true +## if you want to encrypt messages, set this to an implementation of edu.internet2.middleware.grouperClient.encryption.GcEncryptionInterface +#changeLog.consumer.awsJira.encryptionImplementation = edu.internet2.middleware.grouperClient.encryption.GcSymmetricEncryptAesCbcPkcs5Padding +## this is a key or could be encrypted in a file as well like other passwords +## generate a key with: java -cp grouperClient.jar edu.internet2.middleware.grouperClient.encryption.GcGenerateKey +#changeLog.consumer.awsJira.encryptionKey = abc123 +## if you dont want to send the first 4 of the sha hash base 64 of the secret +#changeLog.consumer.awsJira.dontSendShaBase64secretFirst4 = abc123 +#changeLog.consumer.awsJira.publisher.class = edu.internet2.middleware.grouperAwsChangelog.GrouperAwsEsbPublisher +#changeLog.consumer.awsJira.publisher.awsAccessKey = ABCXYZ +#changeLog.consumer.awsJira.publisher.awsSecretKey = 123REWQ +#changeLog.consumer.awsJira.publisher.awsRegion = US_EAST_1 +#changeLog.consumer.awsJira.publisher.awsSnsTopicArn = arn:aws:sns:us-east-1:123:name + +#changeLog.consumer.xmppTest.quartzCron = +#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 = jabber.school.edu +#changeLog.consumer.xmppTest.publisher.port = 5222 +#changeLog.consumer.xmppTest.publisher.username = jabberuser +#changeLog.consumer.xmppTest.publisher.password = /home/whatever/pass/jabberuserEncrypted.pass +#changeLog.consumer.xmppTest.publisher.recipient = [email protected] +#changeLog.consumer.xmppTest.publisher.addSubjectAttributes = NETID +##note, on the content type header, activemq might need: application/x-www-form-urlencoded +#changeLog.consumer.xmppTest.publisher.contentTypeHeader = application/json; charset=utf-8 +##note, on the stringRequestEntityPrefix, activemq might need: data= +#changeLog.consumer.xmppTest.publisher.stringRequestEntityPrefix = +##note, on the stringRequestEntityContentType, activemq might need: application/x-www-form-urlencoded +#changeLog.consumer.xmppTest.publisher.stringRequestEntityContentType = application/json + + http://git-wip-us.apache.org/repos/asf/airavata/blob/89e0fdc8/modules/group-manager/src/main/resources/grouper-loader.properties ---------------------------------------------------------------------- diff --git a/modules/group-manager/src/main/resources/grouper-loader.properties b/modules/group-manager/src/main/resources/grouper-loader.properties new file mode 100755 index 0000000..0f63983 --- /dev/null +++ b/modules/group-manager/src/main/resources/grouper-loader.properties @@ -0,0 +1,25 @@ +# +# Copyright 2014 Internet2 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Grouper loader uses Grouper Configuration Overlays (documented on wiki) +# By default the configuration is read from grouper-loader.base.properties +# (which should not be edited), and the grouper-loader.properties overlays +# the base settings. See the grouper-loader.base.properties for the possible +# settings that can be applied to the grouper.properties + +db.warehouse.user=root +db.warehourse.pass= +db.warehouse.url=jdbc:mysql://localhost:3306/loader_grouper
