Author: cziegeler
Date: Thu Dec 31 10:23:46 2009
New Revision: 894802
URL: http://svn.apache.org/viewvc?rev=894802&view=rev
Log:
Create session for event handling lazy
Modified:
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/JobEventHandler.java
Modified:
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/JobEventHandler.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/JobEventHandler.java?rev=894802&r1=894801&r2=894802&view=diff
==============================================================================
---
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/JobEventHandler.java
(original)
+++
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/JobEventHandler.java
Thu Dec 31 10:23:46 2009
@@ -1022,10 +1022,9 @@
* @see
javax.jcr.observation.EventListener#onEvent(javax.jcr.observation.EventIterator)
*/
public void onEvent(EventIterator iter) {
- // we create an own session here
+ // we create an own session here - this is done lazy
Session s = null;
try {
- s = this.createSession();
while ( iter.hasNext() ) {
final javax.jcr.observation.Event event = iter.nextEvent();
if ( event.getType() ==
javax.jcr.observation.Event.PROPERTY_CHANGED
@@ -1043,6 +1042,9 @@
doNotProcess =
this.deletedJobs.remove(nodePath);
}
if ( !doNotProcess ) {
+ if ( s == null ) {
+ s = this.createSession();
+ }
final Node eventNode = (Node)
s.getItem(nodePath);
if ( !eventNode.isLocked() &&
!eventNode.hasProperty(EventHelper.NODE_PROPERTY_FINISHED)) {
try {
@@ -1070,8 +1072,6 @@
}
}
}
- } catch (RepositoryException re) {
- this.logger.error("Unable to create a session.", re);
} finally {
if ( s != null ) {
s.logout();