小编H A*_*ala的帖子

如何将Spring Boot日志直接发送到Elasticsearch服务器?

我\xe2\x80\x99m 正在寻找一种最佳/最新的方法来将 Spring Boot 应用程序日志直接发送到 Elasticsearch 服务器,而不使用 Filebeats 或 Logstash。我怎样才能做到这一点?Spring Boot 中是否有一种简单/现代的方法或使用任何好的/知名的库来实现这一目标?

\n

我需要的是直接将日志从 Spring Boot 发送到 Elasticsearch,而不需要任何像 Logstash 这样的中间服务。如果第三方库可以添加pom.xml并且它完全做到了这一点那就没问题了。我需要 Spring 应用程序本身来处理这个问题。我在Stack Overflow上查过一些类似的问题。

\n

但有些库现在已被弃用,有些库已经很长时间没有更新了。我想知道一个新的图书馆或者现在有什么方法可以做到这一点?基本上,写入控制台的内容应该发送到 Elasticsearch。

\n

java logging elasticsearch spring-boot

7
推荐指数
2
解决办法
8731
查看次数

DynamoDB 中的 PaginatedQueryList 和 QueryResultPage 有什么区别?

我目前正在使用 Java 和 DynamoDB 来工作DynamoDBMapper。我看到当我们使用时DynamoDBQueryExpression我们可以使用PaginatedQueryListor QueryResultPage。如果我们使用其中任何一个,下面是我们必须使用的方法,

query method - returns a [PaginatedQueryList][1]
queryPage method - returns a [QueryResultPage][1]
Run Code Online (Sandbox Code Playgroud)

PaginatedQueryList说它会首先加载 1MB 的数据,如果我们迭代,那么它会在需要时加载下一页,而且这是分页的。但是关于QueryResultPage?它说正在加载 1MB 的数据。但如果我们迭代它呢?它会加载第二页还是只给我们 1MB 的数据?我找不到任何相关信息?并且QueryResultPage还给了我们LastEvaluatedKeyPaginatedQueryList不是。那么有没有一种方法可以进入,LastEvaluatedKey否则PaginatedQueryList如果我们需要获取该密钥,我们是否必须始终使用QueryResultPage

并且也代替以下代码,

PaginatedQueryList<Data> data = dynamoDBMapper.query(Data.class, queryExpression);
Run Code Online (Sandbox Code Playgroud)

如果我们使用以下内容,

List<Data> data = dynamoDBMapper.query(Data.class, queryExpression);
data.size();
Run Code Online (Sandbox Code Playgroud)

它会加载数据库中找到的所有数据吗?如果我使用stream()而不是data.size()它会加载全部怎么办?

java amazon-dynamodb dynamodb-queries

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

java.sql.SQLException:java.sql.Time的非法小时值'50',值为'50:51:05

当我尝试从MySQL检索时间并将其设置为a时JLabel,它会给我一个错误.

java.sql.SQLException:java.sql.Time的非法小时值'50',值为'50:51:05.

任何人都可以建议我如何解决这个问题?

代码如下.

        String sql = "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ot)))"
                + " FROM attendance"
                + " WHERE department = '"+department+"'"
                + "   AND date BETWEEN '"+dateChooser1+"' AND '"+dateChooser2+"'";
        st = con.createStatement();
        rst = st.executeQuery(sql);
        if(rst.next())
        {
            String time = rst.getString(1);
            oTimeTemp.setText(time);
        }
Run Code Online (Sandbox Code Playgroud)

java mysql time duration

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

每次在java中生成和序列化超类时,我们是否都需要在子类中生成equals和hashcode?

我有一个名为的类User.java,代码如下,

public abstract class User implements Serializable {

   // serialVersionUID

   private Integer userId;
   private String userName;
   private String fullName;

   // Constructor()
   // Getters and Setters
   // equals()
   // hashCode()
}
Run Code Online (Sandbox Code Playgroud)

而且我还有Contact.java课,

public class Contact extends User {

   // serialVersionUID

   private String phoneNumber;
   private String address;

   // Constructor()
   // Getters and Setters
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,即使生成了 User 类,equalshashcode是否需要在子类 Contact 中再次重写它?

而且我正在使用IDE lombok,IDE是IntelliJ。我看到当我生成equalshashcode通过 IDE 时,可以选择模板,例如,

  • 默认
  • Apache commons lang 3 就是这样。 …

java serialization equals hashcode lombok

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