小编pok*_*110的帖子

在Apache的httpclient上向HttpPost添加参数

我试图在HttpPost对象中设置一些Http参数.

HttpPost post=new HttpPost(url);
HttpParams params=new BasicHttpParams();
params.setParameter("param", "value");
post.setParams(params);
HttpResponse response = client.execute(post);
Run Code Online (Sandbox Code Playgroud)

看起来根本没有设置参数.你知道为什么会这样吗?

谢谢

java apache parameters get httpclient

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

如何在Lucene 7中提升查询?

我想在Lucene 7中增加一个查询.在之前的版本(<6)中,我只是使用了setBoost(float boost)方法.即

TermQuery termQuery = new TermQuery(new Term("field", "value"));
termQuery.setBoost(2);
Run Code Online (Sandbox Code Playgroud)

在Lucene 7中,只有一个方法包含boost作为参数:

public Weight createWeight(IndexSearcher searcher,
                       boolean needsScores,
                       float boost)
Run Code Online (Sandbox Code Playgroud)

这不是负责提升的方法!你知道如何将提升应用于查询吗?

java lucene

3
推荐指数
1
解决办法
1310
查看次数

Lucene 3.0.3数字术语查询

我在Lucene 3.0.3中有一个数字字段,它可以很好地处理范围查询.如果我们切换到TermQuery,它不会产生任何结果.例如:

    Document doc = new Document();
    String name = "geolongitude";
    NumericField numericField = new NumericField(name);
    double value = 29.0753505;
    String valueAsString = "29.0753505";
    numericField.setDoubleValue(value);
    doc.add(numericField);
    indexWriter.addDocument(doc);
    indexWriter.commit();
    indexWriter.close();
    IndexSearcher indexSearcher = new IndexSearcher(open);
    Query termQ = new TermQuery(new Term(name, valueAsString));
    TopDocs search = indexSearcher.search(termQ, 10);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得不到任何结果.我试图找出是否存在任何"NumericTermQuery",但无法找到.我可以做一些棘手的事情(对我正在搜索的术语进行范围查询)但我不喜欢这个解决方案.

谢谢!

java lucene

2
推荐指数
1
解决办法
1599
查看次数

Java Flight Recorder选项不起作用,并且文件仅在持续时间设置的末尾存储

我有一个Java进程,并使用以下选项启动它(如此处建议:FR的参数):

-XX:+ UnlockCommercialFeatures -XX:+ FlightRecorder -XX:StartFlightRecording =持续时间= 2m,文件名= myflightrecord.jfr -XX:FlightRecorderOptions =最大大小= 100k,最大= 1m

为了获得飞行记录器信息。

我希望maxage = 1m只会给我一分钟的记录,而maxsize = 100k的文件大小不会大于100Kb,但是它们都没有按预期工作。

我遇到的另一个问题是我希望文件每次存储一次,假设每分钟存储一次。但是文件“ myflightrecord.jfr ”是空的,直到达到持续时间(在示例中为2 分钟)。

有什么方法可以在持续时间结束之前使飞行记录器冲洗?

ps:我使用的Java版本是JDK1.8.0_45

java parameters profiling

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

使用 Jackson 将 JSON 反序列化为包含集合的 Java 对象

我正在和杰克逊做一个非常简单的测试。我有一个类并将其对象用作 Jersey 方法的参数和返回值。班级是:

import java.util.List;

public class TestJsonArray {

    private List<String> testString;

    public List<String> getTestString() {
        return testString;
    }

    public void setTestString(List<String> testString) {
        this.testString = testString;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个 Jersey 方法,它尝试将一个字符串添加到列表测试字符串中

@Path("/arrayObj")
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public Object createObjectArray(@QueryParam("param") String object) throws JsonGenerationException, JsonMappingException, IOException {
        ObjectMapper objectMapper = new ObjectMapper();
        TestJsonArray convertValue = objectMapper.convertValue(object, TestJsonArray.class);
        convertValue.getTestString().add("hello");
        return objectMapper.writeValueAsString(convertValue);
    }
Run Code Online (Sandbox Code Playgroud)

当我用参数调用这个方法时

{"testString":["嗨"]}

我得到一个例外:

java.lang.IllegalArgumentException: Can not construct instance of test.rest.TestJsonArray, problem: no suitable creator method found to deserialize from JSON String …
Run Code Online (Sandbox Code Playgroud)

java json arraylist jackson deserialization

0
推荐指数
1
解决办法
8383
查看次数