diff --git a/acl/pom.xml b/acl/pom.xml index 03ce95cd07f3693d472d7ab7fdf4628feab6cc54..aab09001ac8741d8d56f8ae82ef621926210bd63 100644 --- a/acl/pom.xml +++ b/acl/pom.xml @@ -49,5 +49,22 @@ org.apache.commons commons-lang3 + + + org.slf4j + slf4j-api + test + + + ch.qos.logback + logback-classic + test + + + ch.qos.logback + logback-core + test + + diff --git a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java index 217fb35eee7b94547328289bdb57b9193bc0f03d..14b25253e0545af4b5ca5f562b32bc063d440104 100644 --- a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java +++ b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java @@ -44,7 +44,7 @@ import org.apache.rocketmq.logging.InternalLoggerFactory; public class PlainPermissionLoader { - private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private static final String DEFAULT_PLAIN_ACL_FILE = "/conf/plain_acl.yml"; @@ -102,7 +102,7 @@ public class PlainPermissionLoader { int fileIndex = fileName.lastIndexOf("/") + 1; String watchDirectory = fileName.substring(0, fileIndex); final String watchFileName = fileName.substring(fileIndex); - log.info("watch directory is {} , watch directory file name is {} ", fileHome + File.separator + watchDirectory, watchFileName); + log.info("watch directory is {} , watch file name is {} ", fileHome + File.separator + watchDirectory, watchFileName); final WatchService watcher = FileSystems.getDefault().newWatchService(); Path p = Paths.get(fileHome + File.separator + watchDirectory); @@ -119,6 +119,8 @@ public class PlainPermissionLoader { && (StandardWatchEventKinds.ENTRY_MODIFY.equals(event.kind()) || StandardWatchEventKinds.ENTRY_CREATE.equals(event.kind()))) { log.info("{} make a difference change is : {}", watchFileName, event.toString()); + //TODO do a retain + //Clearing the info, may result in a non-available time PlainPermissionLoader.this.clearPermissionInfo(); initialize(); } diff --git a/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java b/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java index 4f1dc055d03cf8eefc5e63c18bedc086e97eda38..c9166f8da9869249160160e7ae3218ce1d831804 100644 --- a/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java +++ b/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java @@ -27,7 +27,7 @@ import org.apache.rocketmq.logging.InternalLoggerFactory; public class RemoteAddressStrategyFactory { - private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); public static final NullRemoteAddressStrategy NULL_NET_ADDRESS_STRATEGY = new NullRemoteAddressStrategy(); diff --git a/acl/src/test/java/org/apache/rocketmq/acl/plain/PlainPermissionLoaderTest.java b/acl/src/test/java/org/apache/rocketmq/acl/plain/PlainPermissionLoaderTest.java index b34a5b79643ba9b98dd274c1ec4b5f31ebf8a0af..77d418e9bc411693899b01298ab9a3112f223886 100644 --- a/acl/src/test/java/org/apache/rocketmq/acl/plain/PlainPermissionLoaderTest.java +++ b/acl/src/test/java/org/apache/rocketmq/acl/plain/PlainPermissionLoaderTest.java @@ -223,20 +223,19 @@ public class PlainPermissionLoaderTest { FileWriter writer = new FileWriter(transport); writer.write("accounts:\r\n"); - writer.write("- accessKey: rocketmq\r\n"); + writer.write("- accessKey: watchrocketmq\r\n"); writer.write(" secretKey: 12345678\r\n"); writer.write(" whiteRemoteAddress: 127.0.0.1\r\n"); writer.write(" admin: true\r\n"); writer.flush(); writer.close(); - System.out.println(System.getProperty("rocketmq.acl.plain.file")); PlainPermissionLoader plainPermissionLoader = new PlainPermissionLoader(); Assert.assertTrue(plainPermissionLoader.isWatchStart()); { Map plainAccessResourceMap = (Map) FieldUtils.readDeclaredField(plainPermissionLoader, "plainAccessResourceMap", true); - PlainAccessResource accessResource = plainAccessResourceMap.get("rocketmq"); + PlainAccessResource accessResource = plainAccessResourceMap.get("watchrocketmq"); Assert.assertNotNull(accessResource); Assert.assertEquals(accessResource.getSecretKey(), "12345678"); Assert.assertTrue(accessResource.isAdmin()); @@ -244,7 +243,7 @@ public class PlainPermissionLoaderTest { } writer = new FileWriter(new File(fileName), true); - writer.write("- accessKey: rocketmq1\r\n"); + writer.write("- accessKey: watchrocketmq1\r\n"); writer.write(" secretKey: 88888888\r\n"); writer.write(" whiteRemoteAddress: 127.0.0.1\r\n"); writer.write(" admin: false\r\n"); @@ -254,7 +253,7 @@ public class PlainPermissionLoaderTest { UtilAll.sleep(1000); { Map plainAccessResourceMap = (Map) FieldUtils.readDeclaredField(plainPermissionLoader, "plainAccessResourceMap", true); - PlainAccessResource accessResource = plainAccessResourceMap.get("rocketmq1"); + PlainAccessResource accessResource = plainAccessResourceMap.get("watchrocketmq1"); Assert.assertNotNull(accessResource); Assert.assertEquals(accessResource.getSecretKey(), "88888888"); Assert.assertFalse(accessResource.isAdmin()); diff --git a/acl/src/test/resources/conf/watch/plain_acl_watch.yml b/acl/src/test/resources/conf/watch/plain_acl_watch.yml new file mode 100644 index 0000000000000000000000000000000000000000..d705092a1e19acb98f6dd58220565994028001ed --- /dev/null +++ b/acl/src/test/resources/conf/watch/plain_acl_watch.yml @@ -0,0 +1,9 @@ +accounts: +- accessKey: watchrocketmq + secretKey: 12345678 + whiteRemoteAddress: 127.0.0.1 + admin: true +- accessKey: watchrocketmq1 + secretKey: 88888888 + whiteRemoteAddress: 127.0.0.1 + admin: false diff --git a/acl/src/test/resources/logback-test.xml b/acl/src/test/resources/logback-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..e556c649e526905a8abb1622a1cc1ff79ca5846a --- /dev/null +++ b/acl/src/test/resources/logback-test.xml @@ -0,0 +1,34 @@ + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n + UTF-8 + + + + + + + + + + +