You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2011/04/05 12:20:17 UTC

svn commit: r1088955 - /activemq/trunk/activemq-jaas/src/main/java/org/apache/activemq/jaas/PropertiesLoginModule.java

Author: dejanb
Date: Tue Apr  5 10:20:17 2011
New Revision: 1088955

URL: http://svn.apache.org/viewvc?rev=1088955&view=rev
Log:
https://issues.apache.org/jira/browse/AMQ-3244 - make checking of the file timestamps default for the jaas properties loging module

Modified:
    activemq/trunk/activemq-jaas/src/main/java/org/apache/activemq/jaas/PropertiesLoginModule.java

Modified: activemq/trunk/activemq-jaas/src/main/java/org/apache/activemq/jaas/PropertiesLoginModule.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-jaas/src/main/java/org/apache/activemq/jaas/PropertiesLoginModule.java?rev=1088955&r1=1088954&r2=1088955&view=diff
==============================================================================
--- activemq/trunk/activemq-jaas/src/main/java/org/apache/activemq/jaas/PropertiesLoginModule.java (original)
+++ activemq/trunk/activemq-jaas/src/main/java/org/apache/activemq/jaas/PropertiesLoginModule.java Tue Apr  5 10:20:17 2011
@@ -52,11 +52,13 @@ public class PropertiesLoginModule imple
     private CallbackHandler callbackHandler;
 
     private boolean debug;
-    private boolean reload = true;
+    private boolean reload = false;
     private static String usersFile;
     private static String groupsFile;
     private static Properties users;
     private static Properties groups;
+    private static long usersReloadTime = 0;
+    private static long groupsReloadTime = 0;
     private String user;
     private Set<Principal> principals = new HashSet<Principal>();
     private File baseDir;
@@ -73,37 +75,39 @@ public class PropertiesLoginModule imple
             reload = "true".equalsIgnoreCase((String)options.get("reload"));
         }
 
-        if (reload || users == null) {
-            setBaseDir();
-            usersFile = (String)options.get(USER_FILE) + "";
-            File uf = new File(baseDir, usersFile);
+        setBaseDir();
+        usersFile = (String) options.get(USER_FILE) + "";
+        File uf = new File(baseDir, usersFile);
+        if (reload || users == null || uf.lastModified() > usersReloadTime) {
+            if (debug) {
+                LOG.debug("Reloading users from " + usersFile);
+            }
             try {
                 users = new Properties();
                 java.io.FileInputStream in = new java.io.FileInputStream(uf);
                 users.load(in);
                 in.close();
+                usersReloadTime = System.currentTimeMillis();
             } catch (IOException ioe) {
                 LOG.warn("Unable to load user properties file " + uf);
             }
+        }
+
+        groupsFile = (String) options.get(GROUP_FILE) + "";
+        File gf = new File(baseDir, groupsFile);
+        if (reload || groups == null || gf.lastModified() > groupsReloadTime) {
             if (debug) {
-                LOG.debug("Using usersFile=" + usersFile);
+                LOG.debug("Reloading groups from " + groupsFile);
             }
-        }
-        if (reload || groups == null) {
-            setBaseDir();
-            groupsFile = (String)options.get(GROUP_FILE) + "";
-            File gf = new File(baseDir, groupsFile);
             try {
                 groups = new Properties();
                 java.io.FileInputStream in = new java.io.FileInputStream(gf);
                 groups.load(in);
                 in.close();
+                groupsReloadTime = System.currentTimeMillis();
             } catch (IOException ioe) {
                 LOG.warn("Unable to load group properties file " + gf);
             }
-            if (debug) {
-                LOG.debug("Using groupsFile=" + groupsFile);
-            }
         }
     }