summaryrefslogtreecommitdiff
path: root/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java')
-rw-r--r--bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java23
1 files changed, 16 insertions, 7 deletions
diff --git a/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java b/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
index bde7478..aab6001 100644
--- a/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
+++ b/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
@@ -1,5 +1,10 @@
-/*
- * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+/******************************************************************************
+ *
+ * SwordOrb.java -
+ *
+ * $Id: SwordOrb.java 2833 2013-06-29 06:40:28Z chrislit $
+ *
+ * Copyright 2003-2013 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
* P. O. Box 2528
* Tempe, AZ 85280-2528
@@ -35,9 +40,9 @@ import java.util.Properties;
public class SwordOrb extends Object implements HttpSessionBindingListener {
public static Properties config = null;
public static String ORBEXE = "swordorbserver";
- public static final int MAX_REMOTE_ADDR_CONNECTIONS = 20;
- public static final int MAX_ACCESS_COUNT_PER_INTERVAL = 10;
- public static final long MAX_ACCESS_COUNT_INTERVAL = 10 * 1000; // milliseconds
+ public static final int MAX_REMOTE_ADDR_CONNECTIONS = 10;
+ public static final int MAX_ACCESS_COUNT_PER_INTERVAL = 50;
+ public static final long MAX_ACCESS_COUNT_INTERVAL = 50 * 1000; // milliseconds
public static final long BLACKLIST_DURATION = 10 * 60 * 1000; // milliseconds
public static final String BIBLES = "Biblical Texts";
public static final String COMMENTARIES = "Commentaries";
@@ -53,7 +58,7 @@ public class SwordOrb extends Object implements HttpSessionBindingListener {
public static final int NONE = 0;
// set this to your desired debug output level
- public static int debugLevel = INFO;
+ public static int debugLevel = WARN;
static void log(int level, String message, Throwable e) {
@@ -256,7 +261,11 @@ log(INFO, "No ORB found in session; constructing a new instance", null);
session.setAttribute("SwordOrb", orb);
}
- else throw new Exception("Max Remote Addr Connections from: ["+remoteAddr+"]");
+ else {
+ // recycle oldest orb
+ orb = orbs.remove(0);
+ orbs.add(orb);
+ }
}
else {
log(INFO, "ORB found in session", null);