diff options
author | Ade Lee <alee@redhat.com> | 2011-12-08 21:15:59 -0500 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2011-12-08 21:15:59 -0500 |
commit | 171aaece4f23709d33d180cf36eb3af5e454b0c9 (patch) | |
tree | 1485f9f0a7bd10de4ff25030db575dbb8dafae74 /pki/base/common/src/com/netscape/certsrv/request/ARequestNotifier.java | |
parent | adad2fcee8a29fdb82376fbce07dedb11fccc182 (diff) | |
download | pki-171aaece4f23709d33d180cf36eb3af5e454b0c9.tar.gz pki-171aaece4f23709d33d180cf36eb3af5e454b0c9.tar.xz pki-171aaece4f23709d33d180cf36eb3af5e454b0c9.zip |
Revert "Formatting"
This reverts commit 32150d3ee32f8ac27118af7c792794b538c78a2f.
Diffstat (limited to 'pki/base/common/src/com/netscape/certsrv/request/ARequestNotifier.java')
-rw-r--r-- | pki/base/common/src/com/netscape/certsrv/request/ARequestNotifier.java | 277 |
1 files changed, 117 insertions, 160 deletions
diff --git a/pki/base/common/src/com/netscape/certsrv/request/ARequestNotifier.java b/pki/base/common/src/com/netscape/certsrv/request/ARequestNotifier.java index 62977c9b..3d327486 100644 --- a/pki/base/common/src/com/netscape/certsrv/request/ARequestNotifier.java +++ b/pki/base/common/src/com/netscape/certsrv/request/ARequestNotifier.java @@ -17,6 +17,7 @@ // --- END COPYRIGHT BLOCK --- package com.netscape.certsrv.request; + import java.math.BigInteger; import java.util.Enumeration; import java.util.Hashtable; @@ -30,9 +31,9 @@ import com.netscape.certsrv.ldap.ILdapConnModule; import com.netscape.certsrv.publish.IPublisherProcessor; /** - * The ARequestNotifier class implements the IRequestNotifier interface, which - * notifies all registered request listeners. - * + * The ARequestNotifier class implements the IRequestNotifier interface, + * which notifies all registered request listeners. + * * @version $Revision$, $Date$ */ public class ARequestNotifier implements IRequestNotifier { @@ -51,32 +52,31 @@ public class ARequestNotifier implements IRequestNotifier { private int mSavePublishingStatus = 0; private int mSavePublishingCounter = 0; + public ARequestNotifier() { mPublishingQueuePriority = Thread.currentThread().getPriority(); } - public ARequestNotifier(ICertificateAuthority ca) { + public ARequestNotifier (ICertificateAuthority ca) { mCA = ca; - if (mCA != null) - mRequestQueue = mCA.getRequestQueue(); + if (mCA != null) mRequestQueue = mCA.getRequestQueue(); } - public void setPublishingQueue(boolean isPublishingQueueEnabled, - int publishingQueuePriorityLevel, int maxNumberOfPublishingThreads, - int publishingQueuePageSize, int savePublishingStatus) { - CMS.debug("setPublishingQueue: Publishing Queue Enabled: " - + isPublishingQueueEnabled + " Priority Level: " - + publishingQueuePriorityLevel - + " Maximum Number of Threads: " - + maxNumberOfPublishingThreads + " Page Size: " - + publishingQueuePageSize); + public void setPublishingQueue (boolean isPublishingQueueEnabled, + int publishingQueuePriorityLevel, + int maxNumberOfPublishingThreads, + int publishingQueuePageSize, + int savePublishingStatus) { + CMS.debug("setPublishingQueue: Publishing Queue Enabled: " + isPublishingQueueEnabled+ + " Priority Level: " + publishingQueuePriorityLevel+ + " Maximum Number of Threads: " + maxNumberOfPublishingThreads+ + " Page Size: "+ publishingQueuePageSize); mIsPublishingQueueEnabled = isPublishingQueueEnabled; mMaxThreads = maxNumberOfPublishingThreads; mMaxRequests = publishingQueuePageSize; mSavePublishingStatus = savePublishingStatus; - // Publishing Queue Priority Levels: 2 - maximum, 1 - higher, 0 - - // normal, -1 - lower, -2 - minimum + // Publishing Queue Priority Levels: 2 - maximum, 1 - higher, 0 - normal, -1 - lower, -2 - minimum if (publishingQueuePriorityLevel > 1) { mPublishingQueuePriority = Thread.MAX_PRIORITY; } else if (publishingQueuePriorityLevel > 0) { @@ -89,10 +89,8 @@ public class ARequestNotifier implements IRequestNotifier { mPublishingQueuePriority = Thread.currentThread().getPriority(); } - if (mCA != null && mRequestQueue == null) - mRequestQueue = mCA.getRequestQueue(); - if (mIsPublishingQueueEnabled && mSavePublishingStatus > 0 - && mRequestQueue != null) { + if (mCA != null && mRequestQueue == null) mRequestQueue = mCA.getRequestQueue(); + if (mIsPublishingQueueEnabled && mSavePublishingStatus > 0 && mRequestQueue != null) { mPublishingStatus = mRequestQueue.getPublishingStatus(); BigInteger status = new BigInteger("-2"); try { @@ -103,23 +101,23 @@ public class ARequestNotifier implements IRequestNotifier { } catch (Exception e) { } } - + } /** * Registers a request listener. - * + * * @param listener listener to be registered */ public void registerListener(IRequestListener listener) { // XXX should check for duplicates here or allow listeners - // to register twice and call twice ? + // to register twice and call twice ? mListeners.put(listener.getClass().getName(), listener); } /** * Registers a request listener. - * + * * @param name listener name * @param listener listener to be registered */ @@ -129,18 +127,18 @@ public class ARequestNotifier implements IRequestNotifier { /** * Removes listener from the list of registered listeners. - * + * * @param listener listener to be removed from the list */ public void removeListener(IRequestListener listener) { // XXX should check for duplicates here or allow listeners - // to register twice and call twice ? + // to register twice and call twice ? mListeners.remove(listener.getClass().getName()); } /** * Gets list of listener names. - * + * * @return enumeration of listener names */ public Enumeration getListenerNames() { @@ -149,7 +147,7 @@ public class ARequestNotifier implements IRequestNotifier { /** * Removes listener from the list of registered listeners. - * + * * @param name listener name to be removed from the list */ public void removeListener(String name) { @@ -158,7 +156,7 @@ public class ARequestNotifier implements IRequestNotifier { /** * Gets listener from the list of registered listeners. - * + * * @param name listener name * @return listener */ @@ -168,26 +166,26 @@ public class ARequestNotifier implements IRequestNotifier { /** * Gets list of listeners. - * + * * @return enumeration of listeners */ public Enumeration getListeners() { return mListeners.elements(); } + private Object publishingCounterMonitor = new Object(); public void updatePublishingStatus(String id) { if (mRequestQueue != null) { synchronized (publishingCounterMonitor) { if (mSavePublishingCounter == 0) { - CMS.debug("updatePublishingStatus requestId: " + id); + CMS.debug("updatePublishingStatus requestId: "+id); mRequestQueue.setPublishingStatus(id); } mSavePublishingCounter++; - CMS.debug("updatePublishingStatus mSavePublishingCounter: " - + mSavePublishingCounter + " mSavePublishingStatus: " - + mSavePublishingStatus); + CMS.debug("updatePublishingStatus mSavePublishingCounter: "+mSavePublishingCounter+ + " mSavePublishingStatus: "+mSavePublishingStatus); if (mSavePublishingCounter >= mSavePublishingStatus) { mSavePublishingCounter = 0; } @@ -199,27 +197,24 @@ public class ARequestNotifier implements IRequestNotifier { /** * Gets request from publishing queue. - * + * * @return request */ public synchronized IRequest getRequest() { - IRequest r = null; - String id = null; + IRequest r = null; + String id = null; - CMS.debug("getRequest mRequests=" + mRequests.size() - + " mSearchForRequests=" + mSearchForRequests); + CMS.debug("getRequest mRequests=" + mRequests.size() + " mSearchForRequests=" + mSearchForRequests); if (mSearchForRequests && mRequests.size() == 1) { - id = (String) mRequests.elementAt(0); - if (mCA != null && mRequestQueue == null) - mRequestQueue = mCA.getRequestQueue(); + id = (String)mRequests.elementAt(0); + if (mCA != null && mRequestQueue == null) mRequestQueue = mCA.getRequestQueue(); if (id != null && mRequestQueue != null) { CMS.debug("getRequest request id=" + id); - IRequestVirtualList list = mRequestQueue - .getPagedRequestsByFilter(new RequestId(id), - "(requeststate=complete)", mMaxRequests, - "requestId"); + IRequestVirtualList list = mRequestQueue.getPagedRequestsByFilter( + new RequestId(id), + "(requeststate=complete)", mMaxRequests, "requestId"); int s = list.getSize() - list.getCurrentIndex(); - CMS.debug("getRequest list size: " + s); + CMS.debug("getRequest list size: "+s); for (int i = 0; i < s; i++) { r = null; try { @@ -234,11 +229,11 @@ public class ARequestNotifier implements IRequestNotifier { if (requestType == null) { continue; } - if (!(requestType.equals(IRequest.ENROLLMENT_REQUEST) - || requestType.equals(IRequest.RENEWAL_REQUEST) - || requestType.equals(IRequest.REVOCATION_REQUEST) - || requestType.equals(IRequest.CMCREVOKE_REQUEST) || requestType - .equals(IRequest.UNREVOCATION_REQUEST))) { + if (!(requestType.equals(IRequest.ENROLLMENT_REQUEST) || + requestType.equals(IRequest.RENEWAL_REQUEST) || + requestType.equals(IRequest.REVOCATION_REQUEST) || + requestType.equals(IRequest.CMCREVOKE_REQUEST) || + requestType.equals(IRequest.UNREVOCATION_REQUEST))) { continue; } if (i == 0 && id.equals(r.getRequestId().toString())) { @@ -250,33 +245,28 @@ public class ARequestNotifier implements IRequestNotifier { } if (mRequests.size() < mMaxRequests) { mRequests.addElement(r.getRequestId().toString()); - CMS.debug("getRequest added " + r.getRequestType() - + " request " + r.getRequestId().toString() - + " to mRequests: " + mRequests.size() + " (" - + mMaxRequests + ")"); + CMS.debug("getRequest added "+r.getRequestType()+" request "+r.getRequestId().toString()+ + " to mRequests: " + mRequests.size()+" ("+mMaxRequests+")"); } else { break; } } - CMS.debug("getRequest done with adding requests to mRequests: " - + mRequests.size()); + CMS.debug("getRequest done with adding requests to mRequests: " + mRequests.size()); } else { CMS.debug("getRequest has no access to the request queue"); } } if (mRequests.size() > 0) { - id = (String) mRequests.elementAt(0); + id = (String)mRequests.elementAt(0); if (id != null) { CMS.debug("getRequest getting request: " + id); - if (mCA != null && mRequestQueue == null) - mRequestQueue = mCA.getRequestQueue(); + if (mCA != null && mRequestQueue == null) mRequestQueue = mCA.getRequestQueue(); if (mRequestQueue != null) { try { r = mRequestQueue.findRequest(new RequestId(id)); mRequests.remove(0); - CMS.debug("getRequest request " + id - + ((r != null) ? " found" : " not found")); - // updatePublishingStatus(id); + CMS.debug("getRequest request "+ id + ((r != null)?" found":" not found")); + //updatePublishingStatus(id); } catch (EBaseException e) { CMS.debug("getRequest EBaseException " + e.toString()); } @@ -288,15 +278,14 @@ public class ARequestNotifier implements IRequestNotifier { mSearchForRequests = false; } } - CMS.debug("getRequest mRequests=" + mRequests.size() - + " mSearchForRequests=" + mSearchForRequests + " done"); + CMS.debug("getRequest mRequests=" + mRequests.size() + " mSearchForRequests=" + mSearchForRequests + " done"); return r; } /** * Gets number of requests in publishing queue. - * + * * @return number of requests in publishing queue */ public int getNumberOfRequests() { @@ -305,7 +294,7 @@ public class ARequestNotifier implements IRequestNotifier { /** * Checks if publishing queue is enabled. - * + * * @return true if publishing queue is enabled, false otherwise */ public boolean isPublishingQueueEnabled() { @@ -314,7 +303,7 @@ public class ARequestNotifier implements IRequestNotifier { /** * Removes a notifier thread from the pool of publishing queue threads. - * + * * @param notifierThread Thread */ public void removeNotifierThread(Thread notifierThread) { @@ -329,22 +318,20 @@ public class ARequestNotifier implements IRequestNotifier { /** * Notifies all registered listeners about request. - * + * * @param r request */ public void notify(IRequest r) { - CMS.debug("ARequestNotifier notify mIsPublishingQueueEnabled=" - + mIsPublishingQueueEnabled + " mMaxThreads=" + mMaxThreads); + CMS.debug("ARequestNotifier notify mIsPublishingQueueEnabled="+mIsPublishingQueueEnabled+ + " mMaxThreads="+mMaxThreads); if (mIsPublishingQueueEnabled) { addToNotify(r); } else if (mMaxThreads == 0) { Enumeration listeners = mListeners.elements(); if (listeners != null && r != null) { while (listeners.hasMoreElements()) { - IRequestListener l = (IRequestListener) listeners - .nextElement(); - CMS.debug("RunListeners: IRequestListener = " - + l.getClass().getName()); + IRequestListener l = (IRequestListener) listeners.nextElement(); + CMS.debug("RunListeners: IRequestListener = " + l.getClass().getName()); l.accept(r); } } @@ -354,36 +341,33 @@ public class ARequestNotifier implements IRequestNotifier { new Thread(new RunListeners(r, mListeners.elements())).start(); } catch (Throwable e) { - /* - * CMS.getLogger().log( ILogger.EV_SYSTEM, ILogger.S_REQQUEUE, - * ILogger.LL_FAILURE, "Could not run listeners for request " + - * r.getRequestId() + ". Error " + e + ";" + e.getMessage()); - */ + /* + CMS.getLogger().log( + ILogger.EV_SYSTEM, ILogger.S_REQQUEUE, ILogger.LL_FAILURE, + "Could not run listeners for request " + r.getRequestId() + + ". Error " + e + ";" + e.getMessage()); + */ } } } /** * Checks for available publishing connections - * - * @return true if there are available publishing connections, false - * otherwise + * + * @return true if there are available publishing connections, false otherwise */ private boolean checkAvailablePublishingConnections() { boolean availableConnections = false; IPublisherProcessor pp = null; - if (mCA != null) - pp = mCA.getPublisherProcessor(); + if (mCA != null) pp = mCA.getPublisherProcessor(); if (pp != null && pp.enabled()) { ILdapConnModule ldapConnModule = pp.getLdapConnModule(); if (ldapConnModule != null) { - ILdapConnFactory ldapConnFactory = ldapConnModule - .getLdapConnFactory(); + ILdapConnFactory ldapConnFactory = ldapConnModule.getLdapConnFactory(); if (ldapConnFactory != null) { - CMS.debug("checkAvailablePublishingConnections maxConn: " - + ldapConnFactory.maxConn() + " totalConn: " - + ldapConnFactory.totalConn()); + CMS.debug("checkAvailablePublishingConnections maxConn: " + ldapConnFactory.maxConn() + + " totalConn: " + ldapConnFactory.totalConn()); if (ldapConnFactory.maxConn() > ldapConnFactory.totalConn()) { availableConnections = true; } @@ -394,8 +378,8 @@ public class ARequestNotifier implements IRequestNotifier { CMS.debug("checkAvailablePublishingConnections ldapConnModule is not accessible"); } } else { - CMS.debug("checkAvailablePublishingConnections PublisherProcessor is not " - + ((pp != null) ? "enabled" : "accessible")); + CMS.debug("checkAvailablePublishingConnections PublisherProcessor is not " + + ((pp != null)?"enabled":"accessible")); } return availableConnections; @@ -403,7 +387,7 @@ public class ARequestNotifier implements IRequestNotifier { /** * Checks if more publishing threads can be added. - * + * * @return true if more publishing threads can be added, false otherwise */ private boolean morePublishingThreads() { @@ -412,10 +396,9 @@ public class ARequestNotifier implements IRequestNotifier { if (mNotifierThreads.size() == 0) { moreThreads = true; } else if (mNotifierThreads.size() < mMaxThreads) { - CMS.debug("morePublishingThreads (" + mRequests.size() + ">" - + ((mMaxRequests * mNotifierThreads.size()) / mMaxThreads) - + " " + "(" + mMaxRequests + "*" + mNotifierThreads.size() - + "):" + mMaxThreads); + CMS.debug("morePublishingThreads ("+mRequests.size()+">"+ + ((mMaxRequests * mNotifierThreads.size()) / mMaxThreads)+ + " "+"("+mMaxRequests+"*"+mNotifierThreads.size()+"):"+mMaxThreads); // gradually add new publishing threads if (mRequests.size() > ((mMaxRequests * mNotifierThreads.size()) / mMaxThreads)) { // check for available publishing connections @@ -429,30 +412,26 @@ public class ARequestNotifier implements IRequestNotifier { return moreThreads; } + /** * Notifies all registered listeners about request. - * + * * @param r request */ public synchronized void addToNotify(IRequest r) { if (!mSearchForRequests) { if (mRequests.size() < mMaxRequests) { mRequests.addElement(r.getRequestId().toString()); - CMS.debug("addToNotify extended buffer to " + mRequests.size() - + "(" + mMaxRequests + ")" - + " requests by adding request " - + r.getRequestId().toString()); + CMS.debug("addToNotify extended buffer to "+mRequests.size()+"("+mMaxRequests+")"+ + " requests by adding request "+r.getRequestId().toString()); if (morePublishingThreads()) { try { - Thread notifierThread = new Thread(new RunListeners( - (IRequestNotifier) this)); + Thread notifierThread = new Thread(new RunListeners((IRequestNotifier)this)); if (notifierThread != null) { mNotifierThreads.addElement(notifierThread); - CMS.debug("Number of publishing threads: " - + mNotifierThreads.size()); + CMS.debug("Number of publishing threads: " + mNotifierThreads.size()); if (mPublishingQueuePriority > 0) { - notifierThread - .setPriority(mPublishingQueuePriority); + notifierThread.setPriority(mPublishingQueuePriority); } notifierThread.start(); } @@ -466,47 +445,43 @@ public class ARequestNotifier implements IRequestNotifier { } } + /** * Recovers publishing queue. - * + * * @param id request request */ public void recoverPublishingQueue(String id) { - CMS.debug("recoverPublishingQueue mRequests.size()=" - + mRequests.size() + "(" + mMaxRequests + ")" - + " requests by adding request " + id); + CMS.debug("recoverPublishingQueue mRequests.size()="+mRequests.size()+"("+mMaxRequests+")"+ + " requests by adding request "+id); if (mRequests.size() == 0) { mRequests.addElement(id); - CMS.debug("recoverPublishingQueue extended buffer to " - + mRequests.size() + "(" + mMaxRequests + ")" - + " requests by adding request " + id); + CMS.debug("recoverPublishingQueue extended buffer to "+mRequests.size()+"("+mMaxRequests+")"+ + " requests by adding request "+id); if (morePublishingThreads()) { mSearchForRequests = true; try { - Thread notifierThread = new Thread(new RunListeners( - (IRequestNotifier) this)); + Thread notifierThread = new Thread(new RunListeners((IRequestNotifier)this)); if (notifierThread != null) { mNotifierThreads.addElement(notifierThread); - CMS.debug("Number of publishing threads: " - + mNotifierThreads.size()); + CMS.debug("Number of publishing threads: " + mNotifierThreads.size()); if (mPublishingQueuePriority > 0) { - notifierThread - .setPriority(mPublishingQueuePriority); + notifierThread.setPriority(mPublishingQueuePriority); } notifierThread.start(); } } catch (Throwable e) { - CMS.debug("recoverPublishingQueue exception: " - + e.toString()); + CMS.debug("recoverPublishingQueue exception: " + e.toString()); } } } } } + /** - * The RunListeners class implements Runnable interface. This class executes - * notification of registered listeners. + * The RunListeners class implements Runnable interface. + * This class executes notification of registered listeners. */ class RunListeners implements Runnable { IRequest mRequest = null; @@ -515,7 +490,7 @@ class RunListeners implements Runnable { /** * RunListeners class constructor. - * + * * @param r request * @param listeners list of listeners */ @@ -526,7 +501,7 @@ class RunListeners implements Runnable { /** * RunListeners class constructor. - * + * * @param r request * @param listeners list of listeners */ @@ -539,44 +514,26 @@ class RunListeners implements Runnable { * RunListeners thread implementation. */ public void run() { - CMS.debug("RunListeners::" - + ((mRequestNotifier != null && mRequestNotifier - .getNumberOfRequests() > 0) ? " Queue: " - + mRequestNotifier.getNumberOfRequests() : " noQueue") - + " " - + ((mRequest != null) ? " SingleRequest" : " noSingleRequest")); + CMS.debug("RunListeners::"+((mRequestNotifier != null && mRequestNotifier.getNumberOfRequests() > 0)?" Queue: "+mRequestNotifier.getNumberOfRequests():" noQueue")+ + " "+((mRequest != null)?" SingleRequest":" noSingleRequest")); do { - if (mRequestNotifier != null) - mRequest = (IRequest) mRequestNotifier.getRequest(); + if (mRequestNotifier != null) mRequest = (IRequest)mRequestNotifier.getRequest(); if (mListeners != null && mRequest != null) { while (mListeners.hasMoreElements()) { - IRequestListener l = (IRequestListener) mListeners - .nextElement(); - CMS.debug("RunListeners: IRequestListener = " - + l.getClass().getName()); + IRequestListener l = (IRequestListener) mListeners.nextElement(); + CMS.debug("RunListeners: IRequestListener = " + l.getClass().getName()); l.accept(mRequest); } if (mRequestNotifier != null) { - CMS.debug("RunListeners: mRequest = " - + mRequest.getRequestId().toString()); - mRequestNotifier.updatePublishingStatus(mRequest - .getRequestId().toString()); + CMS.debug("RunListeners: mRequest = " + mRequest.getRequestId().toString()); + mRequestNotifier.updatePublishingStatus(mRequest.getRequestId().toString()); } } - CMS.debug("RunListeners: " - + ((mRequestNotifier != null && mRequestNotifier - .getNumberOfRequests() > 0) ? " Queue: " - + mRequestNotifier.getNumberOfRequests() - : " noQueue") - + " " - + ((mRequest != null) ? " SingleRequest" - : " noSingleRequest")); - if (mRequestNotifier != null) - mListeners = mRequestNotifier.getListeners(); - } while (mRequestNotifier != null - && mRequestNotifier.getNumberOfRequests() > 0); - - if (mRequestNotifier != null) - mRequestNotifier.removeNotifierThread(Thread.currentThread()); + CMS.debug("RunListeners: "+((mRequestNotifier != null && mRequestNotifier.getNumberOfRequests() > 0)?" Queue: "+mRequestNotifier.getNumberOfRequests():" noQueue")+ + " "+((mRequest != null)?" SingleRequest":" noSingleRequest")); + if (mRequestNotifier != null) mListeners = mRequestNotifier.getListeners(); + } while (mRequestNotifier != null && mRequestNotifier.getNumberOfRequests() > 0); + + if (mRequestNotifier != null) mRequestNotifier.removeNotifierThread(Thread.currentThread()); } } |