docker自建镜像
> 记录下,总是忘记 编写dockerfile样例 ``` FROM mirrors.xxx.com/ci/alpine_linux:latest # Install jdk21 WORKDIR /tmp/jdk21 ADD jdk_21.tar.gz /usr/local/java RUN ln -s /usr/local/java/jdk_21 /usr/local/java/jdk ENV JAVA_HOME /usr/local/java/jdk ENV PATH ${JAVA_HOME}/bin:$PATH # install maven RUN wget -q https://mirrors.xxx.com/apache-maven-3-bin.zip && \ unzip -qd /opt/ apache-maven-3-bin.zip WORKDIR /tmp ``` 1.使用dockerfile构建镜像 ``` docker build -t xxxx -f ./Dockerfile . ``` 2.打tag,标记镜像 ``` ## doc...

2024-02-02 12:51

类型:工作 标签:docker,dockerfile,push,build

spring中使用jpa操作mysql和mongodb读写ZonedDateTime字段
> LocalDateTime表示本地日期和时间,要表示一个带时区的日期和时间,我们就需要ZonedDateTime。可以简单地把ZonedDateTime理解成LocalDateTime加ZoneId。 在spring使用jpa进行crud操作实体的时候如果用到了ZonedDateTime字段缺少转换类会报错,使用jackson进行json序列化的时候存在ZonedDateTime缺少注册时间模块也会报错。 1.先准备好读写转换类 写转换类: ``` import org.springframework.data.convert.WritingConverter; import org.springframework.core.convert.converter.Converter; import java.time.LocalDateTime; import java.time.ZonedDateTime; @WritingConverter public class ZonedDateTimeToLocalDateTimeWriteConverter implements Con...

2024-01-23 15:02

类型:工作 标签:ZonedDateTime,spring,jpa,mysql,mongodb,jackson

elasticsearch的geo_point经纬度类型顺序问题
> 在es里设置geo_point地理坐标经纬度类型会遇到很常见的问题,latitude 和 longitude 的值到底谁在前谁在后? 为某索引添加geo_point类型 ``` PUT /xxx_index/_mapping { "properties": { "geo_location": { "type": "geo_point" } } } ``` ### longitude:经度。 ### latitude:纬度。 在es中使用geo_point表示有6种方式: 1. Geopoint 表示为GeoJSON格式的对象,带有type和coordinates 2. 地理点表示 Well-Known Text 经纬度写法,格式如下:"POINT(lon lat)" 3. 地理点表示为一个对象,带有lat和lon,不需要考虑顺序问题。 4. 地理点表示为数组,格式为:[lon, lat] 5. 地理点表示为字符串,格式为:"lat,lon" 6. 地理点表示为 geohash,Geohashes是纬度和经度的...

2023-12-26 12:27

类型:工作 标签:elasticsearch,geo_point,longitude,latitude

springboot3.2.x在jdk21开启虚拟线程
> 2023-09-19,jdk21正式发布,此版本是继jdk17后的长期支持版本(LTS),jdk21正式开始支持虚拟线程。 2023-11-23,springboot3.2.0正式发布,3.2版本正式支持虚拟线程。 springboot3.2.0支持虚拟线程需要修改默认配置: ``` spring.threads.virtual.enabled=true ``` 当启用虚拟线程时,包括但不限于Tomcat和Jetty将使用虚拟线程来处理请求。这意味着处理web请求将在虚拟线程上运行。 `spring.threads.virtual.enabled`这个值默认是false,可以看源码里spring-configuration-metadata.json对这个值的描述信息: ``` { "name": "spring.threads.virtual.enabled", "type": "java.lang.Boolean", "description": "Whether to use virtual threads.", "defaultValue": false ...

2023-12-13 03:28

类型:工作 标签:jdk21,springboot,虚拟线程

docker使用AlpineLinux安装openjdk21问题
> 近期发布了openjdk21,JDK21也将成为大多数供应商的长期支持 (LTS) 版本,截止到2023年11月29号,镜像:arm64v8/alpine:latest,目前处于Alpine 3.18,包管理库里是没有openjdk21,因为Alpine 3.19.0才有openjdk21的正式支持。详情可以看: https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.19.0 ``` fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/aarch64/APKINDEX.tar.gz fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/aarch64/APKINDEX.tar.gz ERROR: unable to select packages: openjdk21 (no such package): required by: world[openjdk21] ``` 通过 https...

2023-11-29 05:39

类型:工作 标签:openjdk21,Alpine,linux,jdk21

我与我周旋久 独孤影 开源实验室