小编use*_*980的帖子

如何在SpringBoot应用程序中使用hikari配置自动重连?

我们使用的是 SpringBoot 2.1.x 版本,因此 Hikari 是默认的 DataSource 实现。但是,我不确定如何配置 Hikari 设置以在数据库维护/重新启动或网络连接问题后自动重新连接到我们的 Oracle 数据库。

我们有以下 hikari 设置,但似乎没有帮助。

account.datasource.url: jdbc:oracle:thin:@myserver:1521:DEV
account.datasource.username: user
account.datasource.password: xxxx
account.datasource.driverClassName: oracle.jdbc.driver.OracleDriver

account.datasource.hikari.connection-timeout: 30000
account.datasource.hikari.maximum-pool-size: 3
account.datasource.hikari.idle-timeout: 60000
account.datasource.hikari.max-lifetime: 1800000
account.datasource.hikari.minimum-idle: 2
Run Code Online (Sandbox Code Playgroud)

与数据库的网络连接恢复后,无法重新连接。

获取JDBC连接失败;嵌套异常是 java.sql.SQLTransientConnectionException:HikariPool-1 - 连接不可用,请求在 30033 毫秒后超时。

任何其他 account.datasource.hikari.xxxxx 将有助于自动重新连接到数据库?

spring-boot hikaricp

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

iText7:使用 iText 从 TIFF 多页图像创建 PDF

我正在尝试使用 iText 7.1.1 将 TIFF 图像转换为多页 PDF 文件。感谢那些让我开始阅读这篇文章使用 iText 从 TIFF 图像创建 PDF 的人。但是,它是 iText 5.5.x,我很难在 iText 7 中复制它。

我确实找到了TiffImageData.getNumberOfPages(raf)替换int pages = TiffImage.getNumberOfPages(rafa)。

但是,我无法TiffImage.getTiffImage(rafa, i)在 iText7 中进行替换。我需要使用new Image(ImageDataFactory.createTiff(...)). 感谢任何建议。

iText 5.5.x 代码

import java.io.FileOutputStream;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.io.FileChannelRandomAccessSource;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.RandomAccessFileOrArray;
import com.itextpdf.text.pdf.codec.TiffImage;

public class Test1 {
    public static void main(String[] args) throws Exception {
    RandomAccessFile aFile = new RandomAccessFile("/myfolder/origin.tif", "r"); …
Run Code Online (Sandbox Code Playgroud)

tiff multipage itext7

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

如何使用Comparator.comparing()将字符串比较为双精度?

我有一个帐户列表,我正在尝试使用Comparator.comparing对它们进行排序。但是,由于余额不是字符串的两倍,因此排序不正确。有没有办法使用Comparator.comparing()将String值中的balance字段排序为double?

在我看来,我必须将余额类型更改为两倍才能使其正常工作,但我尝试不更改该值以与所有字符串类型的其他字段保持一致。

List<Account> accountList = getAccountList(id);

Comparator<Account> accountComparator = 
 Comparator.comparing(Account::getBalance);

if (sortDirect.equalsIgnoreCase("desc")) {
    accountList.sort(accountComparator.reversed());
} else {
    accountList.sort(accountComparator);
}

Balance DESC order sorted incorrectly.

"accountList": {      
    "accounts": [
        {
            "accountNumber": "A",
            "balance": "39261.2",
            "payment": "111.42"
        },
        {
            "accountNumber": "B",
            "balance": "251194.28",
            "payment": "128.79"
       ...
    ]
Run Code Online (Sandbox Code Playgroud)

}

java string double comparator java-8

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

按列表中某些对象缺少的对象字段对列表进行排序

我需要显示一个帐户对象列表,并在其中一个帐户对象字段(所有字符串类型)上进行排序。但是,某些帐户字段值未null显示在中JSON。null pointer exception当我对那些缺失的字段进行排序时,它给了我一个机会。如何Comparator在排序期间忽略忽略的字段?

我试过了,Comparator.comparing()但它仅适用于公共字段(所有帐户对象中都存在)。如果我尝试对帐户对象之一中缺少的字段进行排序。NullPointerException发生了。当然,如果我试图强制所有字段以空字符串值(“”)的形式显示,那么它可以正常工作,但看起来不太好,因为这些字段可能太多。

帐户定义

@JsonInclude(Include.NON_NULL)
private String type;    
@JsonInclude(Include.NON_NULL)
private String accountNumber;
@JsonInclude(Include.NON_NULL)
private String accountStatus;
@JsonInclude(Include.NON_NULL)
private String accountValue;
    .... 
Run Code Online (Sandbox Code Playgroud)

排序以下列表-仅type和accountNumber是通用的

"accounts": [
 {
  "type": "type1",
  "accountNumber": "1816227",
  "accountStatus": "cancelled",
 },
 {
  "type": "type2",
  "accountNumber": "2816218",
  "accountValue": "19438.60",

 },
 {
  "type": "type3",
  "accountNumber": "2209890",
  "accountStatus": "inactive",
  "accountValue": "4343.410",
 }
Run Code Online (Sandbox Code Playgroud)
  if (sortField.equalsIgnoreCase("type")) {         
   accountComparator = Comparator.comparing(Accounts::getType);
  }else if(sortField.equalsIgnoreCase("accountNumber")) {
   accountComparator = Comparator.comparing(Accounts::getAccountNumber);
  }else if(sortField.equalsIgnoreCase("accountStatus")) {
   accountComparator = …
Run Code Online (Sandbox Code Playgroud)

java sorting null comparator

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

标签 统计

comparator ×2

java ×2

double ×1

hikaricp ×1

itext7 ×1

java-8 ×1

multipage ×1

null ×1

sorting ×1

spring-boot ×1

string ×1

tiff ×1