You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2006/05/17 07:32:06 UTC
svn commit: r407164 -
/james/server/trunk/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
Author: norman
Date: Tue May 16 22:32:06 2006
New Revision: 407164
URL: http://svn.apache.org/viewcvs?rev=407164&view=rev
Log:
Fix a problem with unlocking.Thanks Stefano for reporting it
Modified:
james/server/trunk/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
Modified: james/server/trunk/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
URL: http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java?rev=407164&r1=407163&r2=407164&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java (original)
+++ james/server/trunk/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java Tue May 16 22:32:06 2006
@@ -915,7 +915,8 @@
// Only show email if its in error state.
if (m.getState().equals(Mail.ERROR)) {
- out.print("key: " + key + " sender: " + m.getSender() + " recipient:");
+ out.print("key: " + key + " sender: " + m.getSender()
+ + " recipient:");
for (int i = 0; i < m.getRecipients().size(); i++) {
out.print(" " + m.getRecipients());
}
@@ -945,10 +946,12 @@
int count = 0;
String[] args = null;
- if (argument != null ) args = argument.split(" ");
-
+ if (argument != null)
+ args = argument.split(" ");
+
// check if the command was called correct
- if ((argument == null || argument.trim().equals("")) || (args.length < 1 || args.length > 2 )) {
+ if ((argument == null || argument.trim().equals(""))
+ || (args.length < 1 || args.length > 2)) {
writeLoggedFlushedResponse("Usage: FLUSHSPOOL [spoolrepositoryname] ([key])");
return true;
}
@@ -962,7 +965,8 @@
// check if an key was given as argument
if (args.length == 2) {
String key = args[1];
- if (resendErrorMail(spoolRepository, key)) count++;
+ if (resendErrorMail(spoolRepository, key))
+ count++;
} else {
// get an iterator of all keys
@@ -970,14 +974,17 @@
while (spoolR.hasNext()) {
String key = spoolR.next().toString();
- if (resendErrorMail(spoolRepository, key)) count++;
+ if (resendErrorMail(spoolRepository, key))
+ count++;
}
}
out.println("Number of flushed mails: " + count);
out.flush();
} catch (Exception e) {
- out.println("Error accessing the spoolrepository " + e.getMessage());
+ out
+ .println("Error accessing the spoolrepository "
+ + e.getMessage());
out.flush();
getLogger().error(
"Error accessing the spoolrepository " + e.getMessage());
@@ -993,7 +1000,8 @@
* @return true orf false
* @throws MessagingException Get thrown if there happen an error on modify the mail
*/
- private boolean resendErrorMail(SpoolRepository spoolRepository, String key) throws MessagingException {
+ private boolean resendErrorMail(SpoolRepository spoolRepository, String key)
+ throws MessagingException {
if (spoolRepository.lock(key)) {
// get the mail and set the error_message to "0" that will force the spoolmanager to try to deliver it now!
@@ -1012,6 +1020,9 @@
}
return true;
} else {
+
+ spoolRepository.unlock(key);
+
out.println("The mail with key " + key
+ " is not in error state!");
out.flush();
@@ -1082,18 +1093,14 @@
* @return true or false
* @throws MessagingException Get thrown if there happen an error on modify the mail
*/
- private boolean removeMail(SpoolRepository spoolRepository, String key) throws MessagingException {
+ private boolean removeMail(SpoolRepository spoolRepository, String key)
+ throws MessagingException {
if (spoolRepository.lock(key)) {
Mail m = spoolRepository.retrieve(key);
if (m.getState().equals(Mail.ERROR)) {
spoolRepository.remove(key);
- spoolRepository.unlock(key);
-
- synchronized (spoolRepository) {
- spoolRepository.notify();
- }
return true;
}
} else {
@@ -1110,7 +1117,8 @@
* @return The spoolRepository
* @throws ServiceException Get thrown if the spoolRepository can not retrieved
*/
- private SpoolRepository getSpoolRepository(String url) throws ServiceException {
+ private SpoolRepository getSpoolRepository(String url)
+ throws ServiceException {
SpoolRepository spoolRepository;
// Setup all needed data
DefaultConfiguration spoolConf = new DefaultConfiguration("spool",
@@ -1118,8 +1126,8 @@
spoolConf.setAttribute("destinationURL", url);
spoolConf.setAttribute("type", "SPOOL");
- spoolRepository = (SpoolRepository) theConfigData.getStore()
- .select(spoolConf);
+ spoolRepository = (SpoolRepository) theConfigData.getStore().select(
+ spoolConf);
return spoolRepository;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org