Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcd2aad3

Browse files
committed
[1.1.1]
QueueManager tryAcquire interrupt self[1.1.1]QueueManager tryAcquire instead of uninterrupted[1.1.1]ApiRunner close added[1.1.1]ApiRunner queue changed time[1.1.1]ApiRunner queue changed time
1 parent412f99b commitcd2aad3

File tree

3 files changed

+22
-12
lines changed

3 files changed

+22
-12
lines changed

‎src/main/java/io/api/etherscan/manager/impl/QueueManager.java‎

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class QueueManager implements IQueueManager, AutoCloseable {
1919

2020
privatefinalScheduledExecutorServiceexecutorService =Executors.newSingleThreadScheduledExecutor();
2121
privatefinalSemaphoresemaphore;
22+
privatefinallongqueueResetTimeInMillis;
2223

2324
publicQueueManager(intsize,intresetInSec) {
2425
this(size,resetInSec,resetInSec);
@@ -28,28 +29,28 @@ public QueueManager(int size, int queueResetTimeInSec, int delayInSec) {
2829
this(size,queueResetTimeInSec,delayInSec,size);
2930
}
3031

31-
publicQueueManager(intsize,
32-
intqueueResetTimeInSec,
33-
intdelayInSec,
34-
intinitialSize) {
32+
publicQueueManager(intsize,intqueueResetTimeInSec,intdelayInSec,intinitialSize) {
3533
this(size,
3634
(long)queueResetTimeInSec *1000,
3735
(long)delayInSec *1000,
3836
initialSize);
3937
}
4038

41-
publicQueueManager(intsize,
42-
longqueueResetTimeInMillis,
43-
longdelayInMillis,
44-
intinitialSize) {
39+
publicQueueManager(intsize,longqueueResetTimeInMillis,longdelayInMillis,intinitialSize) {
40+
this.queueResetTimeInMillis =queueResetTimeInMillis;
4541
this.semaphore =newSemaphore(initialSize);
4642
this.executorService.scheduleAtFixedRate(releaseLocks(size),delayInMillis,queueResetTimeInMillis,
4743
TimeUnit.MILLISECONDS);
4844
}
4945

46+
@SuppressWarnings("java:S899")
5047
@Override
5148
publicvoidtakeTurn() {
52-
semaphore.acquireUninterruptibly();
49+
try {
50+
semaphore.tryAcquire(queueResetTimeInMillis,TimeUnit.MILLISECONDS);
51+
}catch (InterruptedExceptione) {
52+
Thread.currentThread().interrupt();
53+
}
5354
}
5455

5556
privateRunnablereleaseLocks(inttoRelease) {

‎src/test/java/io/api/ApiRunner.java‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
importio.api.etherscan.core.impl.EtherScanApi;
44
importio.api.etherscan.manager.impl.QueueManager;
55
importio.api.etherscan.model.EthNetwork;
6+
importorg.junit.AfterClass;
67
importorg.junit.Assert;
78

89
publicclassApiRunnerextendsAssert {
@@ -19,7 +20,7 @@ public class ApiRunner extends Assert {
1920
?EtherScanApi.DEFAULT_KEY
2021
:key;
2122

22-
finalQueueManagerqueueManager =newQueueManager(2,2100L,2100L,0);
23+
finalQueueManagerqueueManager =newQueueManager(1,1200L,1200L,0);
2324
api =newEtherScanApi(ApiRunner.apiKey,EthNetwork.MAINNET,queueManager);
2425
apiKovan =newEtherScanApi(ApiRunner.apiKey,EthNetwork.KOVAN,queueManager);
2526
apiRopsten =newEtherScanApi(ApiRunner.apiKey,EthNetwork.ROPSTEN,queueManager);
@@ -45,4 +46,12 @@ public static EtherScanApi getApiRinkeby() {
4546
publicstaticEtherScanApigetApiKovan() {
4647
returnapiKovan;
4748
}
49+
50+
@AfterClass
51+
publicstaticvoidcleanup()throwsException {
52+
api.close();
53+
apiRopsten.close();
54+
apiRinkeby.close();
55+
apiKovan.close();
56+
}
4857
}

‎src/test/java/io/api/etherscan/proxy/ProxyTxCountApiTest.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ public void invalidParamWithError() {
3232
@Test
3333
publicvoidcorrectParamWithEmptyExpectedResultBlockNoExist() {
3434
intcount =getApi().proxy().txCount(99999999999L);
35-
assertEquals(0,count);
35+
assertNotEquals(1,count);
3636
}
3737

3838
@Test
3939
publicvoidcorrectParamWithEmptyExpectedResult() {
4040
intcount =getApi().proxy().txSendCount("0x1e03d9cce9d60f3e9f2597e13cd4c54c55330cfd");
41-
assertEquals(0,count);
41+
assertNotEquals(1,count);
4242
}
4343
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp