小编tuk*_*tuk的帖子

调用抽象类的私有方法

我有一个要求,我必须调用抽象类的私有方法.

假设抽象类如下所示: -

public abstract class Base {

    protected abstract String getName();

    private String getHi(String v) {
        return "Hi " + v;
    }
}
Run Code Online (Sandbox Code Playgroud)

有些人可以告诉我有没有办法可以打电话getHi(可能是通过Reflection或其他方式),以便我可以测试出来?我正在使用Junit 4.12Java 8

我已经解决了这个问题,但这里的方法在抽象类中并不是私有的.

我也经历过这个问题,即使这个问题也没有谈到抽象类中的私有方法.

我不是在这里问我们是否应该测试私有方法或者测试私有方法的最佳策略是什么.网上有很多关于此的资源.我只是想问一下如何在java中调用抽象类的私有方法.

java junit junit4

6
推荐指数
1
解决办法
1472
查看次数

slf4j-log4j12与log4j之间的区别

在一个项目中,pom.xml我看到了如下的依赖

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

有人能让我知道slf4j-log4j12& 之间的区别是log4j什么?

java log4j slf4j slf4j-api

6
推荐指数
1
解决办法
2478
查看次数

gevent 21.12.0 在 mac os monterey 中安装失败

我正在尝试使用 python 3.9.6 和 pip 21.3.1 在 Mac OS Monterey(版本 12.6)上安装 gevent 21.12.0。但它因以下错误而失败。有什么建议吗?

(venv) debrajmanna@debrajmanna-DX6QR261G3 qa % pip install gevent
Collecting gevent
  Using cached gevent-21.12.0.tar.gz (6.2 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting greenlet<2.0,>=1.1.0
  Using cached greenlet-1.1.3-cp39-cp39-macosx_10_9_universal2.whl
Collecting zope.event
  Using cached zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB)
Collecting zope.interface
  Using cached zope.interface-5.4.0-cp39-cp39-macosx_10_9_universal2.whl
Requirement already satisfied: setuptools in /Users/debrajmanna/code/python/github/spotnana/venv/lib/python3.9/site-packages (from gevent) (60.2.0)
Building wheels for collected packages: gevent
  Building wheel for gevent …
Run Code Online (Sandbox Code Playgroud)

python gevent python-3.x

6
推荐指数
1
解决办法
920
查看次数

Solr 中“Num Docs”和“Max Doc”之间的区别

有人可以让我知道Solr Admin 中的Num DocsMax Doc报告的有什么区别吗?

从 SolrJ执行deleteByQuery后,我看到了这种价值差异。我正在使用 Solr 5.2.1

在此处输入图片说明

solr solrj

5
推荐指数
1
解决办法
5393
查看次数

Sonar中用于Java中的import语句的重复代码块

在Sonar 4.5.6(默认设置)中,我看到Duplicated Blocks消息为

在此输入图像描述

我收到消息的java代码如下: -

package com.jabong.orchestratorservice.adapter.order.endpoints;

import com.jabong.orchestratorservice.adapter.order.request.UpdateOrderStatusReadyShipRequest;

public class UpdateOrderReadyShipEndPoint extends BaseOrderEndPoint {
    private final static String API_NAME = "setStatusToReadyToShip";

    @Override
    public String getSourceEndPoint() {
    return new StringBuilder("direct:").append(API_NAME).toString();
    }

    @Override
    public String getDestinationEndPoint() {
    return new StringBuilder("bean:orderHelper?method=").append(API_NAME).toString();
    }

    @Override
    protected String getName() {
    return API_NAME;
    }

    @Override
    protected String getApiInputClassName() {
    return UpdateOrderStatusReadyShipRequest.class.getName();
    }
}
Run Code Online (Sandbox Code Playgroud)

UpdateOrderStatusReadyShipRequest 也不导入 UpdateOrderReadyShipEndPoint

package com.jabong.orchestratorservice.adapter.order.request;

public class UpdateOrderStatusReadyShipRequest extends BaseOrderRequest {
Run Code Online (Sandbox Code Playgroud)

有人能告诉我这是什么意思吗?

java sonarqube sonarqube-4.5 sonarqube-web

5
推荐指数
2
解决办法
2万
查看次数

使wiremock接受任何证书

我在wiremock中定义了一个https存根,如下所示:-

public class HttpsMockMain {
    public static void main(String[] args) {
        WireMockServer mockServer = new WireMockServer(56789, 8443);
            addStub(mockServer);
            mockServer.start();
    }
    private static void addStub(WireMockServer mockServer) {
        ResponseDefinitionBuilder responseBuilder = aResponse().withStatus(200).withBody(
        "{\"message\":null,\"httpStatus\":0,\"status\":{\"httpStatusCode\":200,\"success\":true,\"errors\":[]},\"_metaData\":{\"urlParams\":{}},\"debugData\":null,\"data\":[\"01125851014\",\"01125851014\",\"debraj.manna@jabong.com\",\"03325853088\",\"03325853088\",\"debraj.manna@rediffmail.com\"],\"httpStatusToBeReturned\":200}");
        mockServer.stubFor(post(urlPathEqualTo("/oms-api/")).willReturn(responseBuilder));
    }
}
Run Code Online (Sandbox Code Playgroud)

每当我向https://localhost:8443/oms-api/发送 POST 请求时,我都会收到以下异常:-

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Run Code Online (Sandbox Code Playgroud)

是否可以告诉 WireMock 接受任何证书?我在wiremock 1.58java 1.8

wiremock

5
推荐指数
1
解决办法
9500
查看次数

通用信元速率算法相对于漏桶算法的优势

我正在寻找一种用于限制 REST HTTP 服务器传入请求速率的算法。我已经完成了“漏桶”和“通用信元速率算法:虚拟调度”

据我了解,漏桶有以下局限性:-

  1. 如果队列/存储桶为空并且请求在时钟滴答之前到来(当我们实际处理请求时),则请求必须等待时间直到时钟滴答。
  2. 网络域中的变长数据包

我浏览过这个实现“通用信元速率算法:虚拟调度”的博客。

有人可以向我解释以下内容吗:-

  1. GCRA 如何解决#1 中提到的 Leaky Bucket 的限制?
  2. 在我的用例中,如果我将时钟刻度设置为低(可能每纳秒检查一次),漏桶问题是否应该得到缓解?

algorithm rate-limiting bucket

5
推荐指数
1
解决办法
882
查看次数

通过 create-cluster 脚本在 Mac OS X 上设置 redis 集群

我想通过集群教程中create-cluster提到的脚本在 Mac 上设置一个 redis 集群。我无法在 Mac 上找到 create-cluster 脚本。

我正在使用redis 3.2.0安装通过brewon Mac OS X 10.11.6 (15G31)

有人可以让我知道create-cluster脚本在 Mac 中的位置吗?

redis redis-cluster

5
推荐指数
2
解决办法
6981
查看次数

logback 行号未显示在日志中

我正在使用 logback 1.2.3 。我的配置如下所示

<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <Target>System.out</Target>
        <encoder>
            <pattern>%p [%d{yyyy-MM-dd HH:mm:ss,SSS}] %c{3}:[%C{1}:%M:%L] - [%t] - %m%n</pattern>
        </encoder>
    </appender>
    <root level="INFO">
       <appender-ref ref="CONSOLE"/>
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是我没有在日志中看到行号

INFO [2018-01-12 07:06:54] c.v.s.f.FlowStoreWarmer:[?:?:?] - [FlowStoreWarmer_flow_cache_warmup_thread] - no work to do for cid 19099
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道出了什么问题吗?

java logback

5
推荐指数
1
解决办法
2143
查看次数

如何在java中将协议缓冲区消息转换为HashMap?

我有一个形式的 protobuf 消息

enum PolicyValidationType {
    Number = 0;
}


message NumberPolicyValidation {
    optional int64 maxValue = 1;
    optional int64 minValue = 2;
}

message PolicyObject {
    required string key = 1;
    optional string value = 2;
    optional string name = 3;
    optional PolicyValidationType validationType = 4;
    optional NumberPolicyValidation numberPolicyValidation = 5;
}
Run Code Online (Sandbox Code Playgroud)

例如

policyObject {
      key: "sessionIdleTimeoutInSecs"
      value: "1800"
      name: "Session Idle Timeout"
      validationType: Number
      numberPolicyValidation {
        maxValue: 3600
        minValue: 5
      }
}
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道如何将其转换为Map如下所示:-

{validationType=Number, name=Session Idle …
Run Code Online (Sandbox Code Playgroud)

java protocol-buffers java-8

5
推荐指数
1
解决办法
2922
查看次数