mirror of
https://github.com/apache/rocketmq.git
synced 2026-09-24 16:04:00 +08:00
Polish the watch test
This commit is contained in:
+17
@@ -49,5 +49,22 @@
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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<String, PlainAccessResource> plainAccessResourceMap = (Map<String, PlainAccessResource>) 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<String, PlainAccessResource> plainAccessResourceMap = (Map<String, PlainAccessResource>) 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());
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<configuration>
|
||||
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
|
||||
<charset class="java.nio.charset.Charset">UTF-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<logger name="RocketmqCommon" level="INFO" additivity="false">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
</logger>
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
</root>
|
||||
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user