解惑

解己之惑,解人之惑

分类:Java (第1页共20页)

Java技术

自动生成的mapping不对

ElasticSearch的一个坑,发现中文分词的Analyser不起作用,生成的mapping里面完全不包含指定的内容,得到的都是类似这样的结果:

“name”: {
                        “type”: “text”,
                        “fields”: {
                            “keyword”: {
                                “type”: “keyword”,
                                “ignore_above”: 256
                            }
                        }
                    }
其实我期望的是:
“name”: {
                        “type”: “text”,
                        “analyzer”: “ik_smart”
                    }
问题在于这个Entity的class上有些字段没有设置Field,有些设置了但是没有指定类型。这些问题修正后就没有问题了。

TransportClient要被淘汰了

发现我们使用的ElasticSearch的版本快过期了(end of life),计划升级,发现ElasticSearch将要淘汰原来的TransportClient转而力推High Level Rest Client了。

其它的问题都还好说,包的依赖和Client的初始化的不同影响面比较小,但是接口的不兼容影响比较大,不知道需要多少代价才能改完,不过好在都有各种测试代码了,修改应该可以。

 

新成就Get:Java的bug

搞了这么多年Java,总算是让我逮住一个Java的bug,Java不能正确的处理未经压缩的大Jar包:JDK-8223811

最开始怀疑是第三方的打包库导致的,后来进一步验证确定是Java自己的bug,因为使用jar命令打出来的包也有同样的问题。

出现的异常信息是:java.util.zip.ZipException: invalid LOC header (bad signature)

那种Jar包读取metadata都没有问题,使用第三方软件解压读取也都没有问题,唯独使用Java自己的代码从JarEntry获取InputStream读取的时候会出错,另外使用jarsigner -verify去验证jar也会出问题,估计内部实现也是调用了同样的代码。

基于Spring Boot的支持ElasticSearch和JWT的POM

不多说废话了,直接贴内容吧,用的库的版本基本是最新的了:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.1.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.auth0</groupId>
        <artifactId>auth0-spring-security-api</artifactId>
        <version>1.1.0</version>
    </dependency>
    <dependency>
        <groupId>com.auth0</groupId>
        <artifactId>java-jwt</artifactId>
        <version>3.4.1</version>
    </dependency>
</dependencies>
<repositories>
    <repository>
        <id>elastic.co</id>
        <url>https://artifacts.elastic.co/maven</url>
    </repository>
</repositories>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>8</source>
                <target>8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

捡到240块钱

呵呵,其实不是真的捡到钱,而是退货退回来的。

事情起源于元旦,1月3号的晚上,逛附近的超市,旁边有个nike的专卖店,老婆看上一个羽绒服,要给我买,但是那里是原价,记起来浦东商城满99减30,晚上8点过去看,发现稍微好一点的东西都卖完了。

到了8号,又去那个专卖店看了下,还是原价,考虑到我3年都没有买新的羽绒服了,狠了心买了,1098。

今天我们搬家,早了点回家,所以带小宝去逛超市,顺便去看了下nike(老婆的习惯),走到不远的地方就看到有活动了,满300减80,大喜,因为我们来个简单的退货再买操作就可以了。问了下服务员能不能退,说因为质量问题可以在三个月内退,然后找到店长,说当初买就是她怂恿的,她也承认,所以可以让我们退,大喜,回家拿衣服和发票,但是刷卡的单据扔了,没办法,带着东西到了店里面,检查了下衣服没有问题,就开单子了,但是后来看到是刷卡,要我们的刷卡单,说没有带,让我们回去拿,我们就在那里磨,后来她打电话问上级,说可以,最后直接给我们240的现金,爽啊。其实我们当时不买也是不行的,因为那个衣服的号没有了,只剩大号了,我们在退衣服的过程中不少人都问到那个衣服。回家的路上我和老婆都很高兴,哎,穷人的悲哀。

交行想钱想疯了

刚刚注意到交行推出了一个所谓的转账套餐,分三种,100元转账5笔,150元10笔,180元15笔,这个套餐就是欺骗不明真相的群众的,因为交行的网银的他行快速转账手续费是千分之二,最高20,本行异地是千分之一点五,最高50,如果是他行的,那么直接用快速转账,5笔绝对不会超过100元,而其他的套餐,例如150套餐,只有每次要转账7500以上,一个月要转10次才能保本,180元要每次转账6000以上,一个月转15次,试问什么样的脑残才需要这样搞啊?

习惯MAC了

定制得差不多了,抛弃或者一般不用系统自带的应用,这个和用WINDOWS系统类似。开始的时候很多使用方式不是很清楚,现在已经比较熟练了,不影响日常使用了。现在用得比较多的还是mac上的鼠标板,不过已经订了个rapoo的无线鼠标。

列举下安装的软件:

  • NEOOffice
  • FIREFOX
  • CHROME
  • ADIUM
  • QQ
  • MSN
  • FILEZILLA
  • VIRTUALBOX
  • FIT

mac下应该不用杀毒软件吧,经常上apple的官网看软件,但是很多是共享软件,不爽,我基本只用免费软件,穷啊。

PS:FIT确实比系统自带的输入法好多了。

局域网建好了

老婆现在很迷上网,所以让我赶紧搞一个两个电脑可以同时上网的方案,本来想省钱的,下载了个ccproxy,发现速度无法忍受,上淘宝上看了下,原来现在路由器这么便宜啊,只要40块啊,赶紧买了个,两个电脑就可以同时上网了,不过我的待遇还是不够好啊,得在床上用电脑了,电脑桌和椅子就被老婆霸占了。

宝宝百天了

转眼宝宝就一百天了,时间过得也还是蛮快的,看着宝宝快快的成长,还是很幸福的。

借了同事的D90,拍的效果果然不一样啊,特别是抓拍的效果和照片的效果。

[nggallery id=6]

开始使用mac

这次去美国,买的最贵的东西就是苹果笔记本了,不过我买的是最便宜的,也是最新的那个,朔料外壳的,但是硬件配制好,性价比最高,没办法,谁让我是穷人呢,本来想买MBA的,但是实在是太贵,而且硬件配制太差。其实以前没有用过苹果笔记本,就是觉得好看,而且是unix系的操作系统。
家里用的adsl,这个问题不大,直接配个pppoe连接就搞定了。
现在在下载各种软件,呵呵。

更早的文章

© 2020 解惑

本主题由Anders Noren提供向上 ↑