小编sam*_*amy的帖子

什么是使用java url连接完全忽略ssl的简单方法?

我正在构建一个应用程序,定期检查一些rss feed以获取新内容.其中一些订阅源只能通过https访问,有些则具有自签名或某种方式损坏的证书.我希望能够永远检查它们.

请注意,此应用程序中的安全性不是问题,目标是以最小的努力访问内容.

我正在使用此代码来规避大多数证书问题:

/**
     * Sets timeout values and user agent header, and ignores self signed ssl
     * certificates to enable maximum coverage
     * 
     * @param con
     * @return
     */
    public static URLConnection configureConnection(URLConnection con)
    {
        con.setRequestProperty(
            "User-Agent",
            "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
        con.setConnectTimeout(30000);
        con.setReadTimeout(40000);
        if (con instanceof HttpsURLConnection)
        {
            HttpsURLConnection conHttps = (HttpsURLConnection) con;
            TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager()
            {

                public java.security.cert.X509Certificate[] getAcceptedIssuers()
                {
                    return null;
                }

                public void …
Run Code Online (Sandbox Code Playgroud)

java ssl https

19
推荐指数
1
解决办法
4万
查看次数

如何防止jenkins日志被奇怪的消息发送垃圾邮件

几乎每周我们运行jenkins的开发服务器都没有剩余磁盘空间,因为jenkins日志文件变得很大(> 100g).它被这些奇怪的消息完全填满:

[DNSQuestion@1218458593 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
    [DNSQuestion@1577918927 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
    [DNSQuestion@1610023624 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
    [DNSQuestion@1936465154 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
    [DNSQuestion@983177141 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
    [DNSQuestion@229530224 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
    [DNSQuestion@1789454415 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
    [DNSQuestion@2034199573 …
Run Code Online (Sandbox Code Playgroud)

jenkins

16
推荐指数
2
解决办法
3261
查看次数

如何使用lucene 5.xx的StandardTokenizer

有很多示例显示如何使用StandardTokenizer,如下所示:

TokenStream tokenStream = new StandardTokenizer(
            Version.LUCENE_36, new StringReader(input));
Run Code Online (Sandbox Code Playgroud)

但在较新的Lucene版本中,此构造函数不可用.新构造函数如下所示:

StandardTokenizer(AttributeFactory factory)
Run Code Online (Sandbox Code Playgroud)

这个AttributeFactory的作用是什么?如何在较新版本的Lucene中对String进行标记?

java lucene tokenize

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

内存有效的多值映射

嗨,我有以下问题:我存储字符串和相应的整数值列表,MultiValueMap<String, Integer> 我存储大约13000亿字符串,一个字符串可以有多达500或更多的值.对于每个值,我将在地图上随机访问.所以最糟糕的情况是13 000 000*500看涨期权.现在地图的速度很好但内存开销却很高.A MultiValueMap<String, Integer>就是一个HashMap/TreeMap<String, <ArrayList<Integer>>.HashMap和TreeMap都有很多内存开销.一旦完成,我就不会修改地图,但我需要它在程序中随机访问的速度要快且尽可能小.(我将它存储在磁盘上并在启动时加载它,序列化的映射文件占用大约600mb但在内存中大约需要3gb?)

最有效的内存是将String存储在已排序的字符串数组中,并为值提供相应的二维int数组.因此访问将是字符串数组上的二进制搜索并获取相应的值.

现在我有三种方法可以实现目标:

  1. 我使用一个排序的MultivalueMap(TreeMap)来创建存储所有的东西.在我完成获取所有值之后,我通过调用map.keyset().toArray(new String[0]);Make a two dimension int array获取字符串数组并从多值映射中获取所有值.Pro:它易于实现,在创建过程中仍然很快.Con:从Map到Arrays的复制过程中占用的内存更多.

  2. 我从一开始就使用Arrays或者ArrayLists,并将所有内容存储在Pro:最少的内存开销.Con:这将非常慢,因为每次添加一个新Key时我都必须对Array进行排序/复制.另外,我需要实现自己的(可能更慢)排序,以保持相应的int数组的顺序相同字符串.难以实施

  3. 我使用Arrays和MultivalueMap作为缓冲区.程序完成创建阶段的10%或20%后,我会将值添加到数组并保持顺序,然后启动一个新的Map.Pro:足够的速度和足够的内存效率.骗局:难以实施.

这些解决方案都不适合我.您是否知道此问题的任何其他解决方案,可能是内存高效(MultiValue)Map实现?

我知道我可以使用数据库,所以不要把它作为答案发布.我想知道如何在不使用数据库的情况下做到这一点.

java memory performance map memory-efficient

6
推荐指数
2
解决办法
2336
查看次数

solr无法删除任何内容

我正在尝试删除我的solr服务器上的文档,但它不起作用,我没有得到任何错误.

我尝试通过浏览器,curl和solrj删除,没有任何作用.

(这里解释的浏览器和卷曲:Solr删除因某些原因无法工作)
我的solrj代码是:

server.deleteByQuery("*:*");
server.deleteById("*");
server.deleteById("guid:*");
server.commit(true, true);

UpdateRequest update = new UpdateRequest();
update.deleteByQuery("*:*");
update.setCommitWithin(0);
server.request(update);
server.commit(true, true);

SolrQuery query = new SolrQuery("*:*");//Search for everything/anything
query.setRows(10);
query.setRequestHandler("/query");
QueryResponse qr = server.query(query); 
SolrDocumentList result = qr.getResults();
for (SolrDocument doc : result) {
    Object id = doc.get("link");
    String names = (String) doc.get("description");
System.out.println(id + " " + names);
}
Run Code Online (Sandbox Code Playgroud)

我总是在执行此操作后得到结果,或者通过Web界面,没有任何变化(顺便提一下添加文档).

任何人都有并且知道我可以尝试什么或者可能是什么原因?

更新:

所以我尝试再次从头开始设置所有内容并将我本地化错误源:solr不会删除带有我的Schema.xml文件的文件,我仍然不知道为什么: pastebin上的schema.xml

java solr solrj

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

另一个工作开始运行后,新手启动工作延迟

我是第一次尝试使用暴发户.我有两个我想要开始的java程序.第一个是在jetty上运行的solr搜索服务器,第二个是应该在solr服务器启动后启动的自定义搜寻器.

我的爬虫初始化脚本如下所示:

description     "crawler"
author ""

start on runlevel [2345]
stop on runlevel [!2345]

respawn

script
    cd /home/crawler
    java -Duser.timezone=Europe/Berlin  -jar crawler.jar
end script
Run Code Online (Sandbox Code Playgroud)

现在为solr服务器我写了这个:

description     "server"

start on starting crawler
stop on runlevel [!2345]

respawn

script
    cd /home/server/version0.1/example
    java -Duser.language=en -Dsolr.clustering.enabled=true -Duser.country=US  -Dfile.encoding=UTF-8 -jar start.jar
end script
Run Code Online (Sandbox Code Playgroud)

两者都开始,所以它似乎工作,但我希望爬行器在稍微延迟2秒后启动,以给服务器时间启用一切.谁知道怎么做?您如何看待这两个新贵脚本是好还是我错过了什么?(我是一个初始菜鸟)

java ubuntu solr init upstart

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

如何自定义 swagger codegen 以生成忽略空值的模型

我正在使用 swagger-codgen 为我的 Spring Boot 应用程序生成 java 模型类并将它们序列化为 json。默认情况下,这些模型都将包含具有空值的可选属性。

我想为 spring 配置 swagger-codgen 以在所有类的顶部包含此注释:@JsonInclude(Include.NON_NULL)以便空值属性不包含在序列化的 json 中。

我怎样才能做到这一点?有配置选项还是我必须手动扩展 spring 代码生成器?

jackson swagger spring-boot swagger-codegen

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