小编Ral*_*lph的帖子

WhatsApp是否提供开放API?

我想知道是否有通过互联网协议访问WhatsApp的开放API?具体问题是:

  1. 有没有办法从互联网服务器发送消息到WhatsApp用户列表?
  2. 有任何开放的身份验证概念吗?
  3. 或者 - WhatsApp最终是一个没有通过互联网协议开放API的封闭系统吗?

whatsapp

34
推荐指数
3
解决办法
7万
查看次数

Java日志记录 - 如何将输出重定向到记录器的自定义日志文件?

我有关于jdk日志记录配置的问题.我有一个EJB(部署到glassfish),它使用JDK Logging来输出消息.因此我使用一个带有如下代码的命名记录器:

private static Logger logger = Logger.getLogger("org.imixs.workflow");
.....
       logger.fine(" some info...");
....
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过将以下行添加到Glassfish的logging.properties文件中来为我的记录器配置loglevel:

.....
org.imixs.workflow.level=FINE
Run Code Online (Sandbox Code Playgroud)

但是如何为记录器指定输出文件?我想把名为'org.imixs.workflow'的记录器中的所有消息放入一个单独的文件中.这可能吗?

谢谢你的帮助

java logging

21
推荐指数
3
解决办法
7万
查看次数

如何在java中按日期对目录中的文件进行排序?

我有一个方法从位于目录中的文件中读取内容.但由于功能原因,有必要从最旧的文件开始(由属性lastmodified指示)并以最新文件结束.

这是我打开和读取文件的代码:

        FilenameFilter filter = new FilenameFilter() {
        public boolean accept(File dir, String name) {
            return name.matches("access_log.*");
        }
    };

    File folder = new File("/home/myfiles");
    File[] listOfFiles = folder.listFiles(filter);

    for (int i = 0; i < listOfFiles.length; i++) {
        String sFileName = listOfFiles[i].getName();
        File accessLogFile = new File(aLog.getPath(), sFileName);
        long time=accessLogFile.lastModified();
        // do something with the file
    }
Run Code Online (Sandbox Code Playgroud)

有没有人可以解决我如何按日期快速排序我的文件列表?

java sorting date file

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

Kubernetes Ingress 和 IngressRoute 有什么区别?

我仍在学习 kubernetes,并且偶然发现了对象“Ingress”和“IngressRoute”。这两个对象有什么不同?IngressRoute 是否取代了“旧”的 Ingress?我正在使用 Traefik 2.1 运行 Kubernetes Cluster V1.17。我的 IngressRoute 工作正常,但我也找到了解释如何定义入口的博客。

kubernetes traefik-ingress

13
推荐指数
2
解决办法
4874
查看次数

CDI - 什么是正确的bean.xml格式?

我有一个关于bean.xml文件的正确格式和用法的问题.在我的项目中,我通常将此内容用于我的bean.xml文件(不使用explizit bean声明):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
Run Code Online (Sandbox Code Playgroud)

这在WildFly 8和9中运行良好.但是我在GlassFish 4中有部署问题.在问题:Glassfish 4,CDI中的简单示例失败,WELD-001408不满意的依赖关系我写了另一种格式:

<beans
   xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
                  http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
          bean-discovery-mode="all">
</beans>
Run Code Online (Sandbox Code Playgroud)

使用了不同的命名空间.并且GlassFish4似乎关心这一点.

用于JEE7的空bean.xml文件的正确格式是什么?

java glassfish cdi jboss-weld

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

激活资源过滤后编码错误

我正在开发一个基于maven的web项目.在我的网络模块中,我使用不同语言的特定资源包(德语,西班牙语......).我所有的资源都是基于UTF-8而且一切正常.现在有必要根据不同的maven配置文件来激活maven资源过滤来替换一些配置.

我的pom.xml:

.....
 <project xmlns="http://maven.apache.org/POM/4.0.0"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
.....

 <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>    
 <build>
 <resources>
    <resource>
    <directory>src/main/resources</directory>
        <filtering>true</filtering>             
    </resource>      
 </resources>
 ....
Run Code Online (Sandbox Code Playgroud)

从那时起,我的war文件包含编码错误的资源包.例如,德语变音符号不再正确显示在我的Web应用程序中.当我禁用资源过滤时,一切都很好.

我找到的唯一解决方案是将属性project.build.sourceEncoding设置为'ISO-8859-1'

<properties>
  <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
</properties>
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么这是必要的?我的所有来源都是UTF-8,我的应用程序也是基于UTF-8?如果我需要添加资源包 - 例如日文字符会发生什么?

我正在使用Eclipse 4.2和Maven 3在Linux上进行开发

encoding character-encoding maven-3 maven

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

如何通过 NGINX Ingress Controller 公开端口 22?

我有一个带有 NGINX 入口控制器的 Kubernetes 集群。在集群中我部署了一个Gitea POD。Web UI 和 HTTPS 访问通过 Ingress 对象公开,如下所示:

---
kind: Service
apiVersion: v1
metadata:
  name: gitea-service
  namespace: gitea-repo
spec:
  selector:
    app: gitea
  ports:
  - name: gitea-http
    port: 3000
  - name: gitea-ssh
    port: 22
---
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: git-tls
  namespace: gitea-repo
  annotations:
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
  tls:
  - hosts:
    - git.foo.com
    secretName: tls-gitea
  rules:
  - host: git.foo.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: gitea-service
            port:
              number: 3000
Run Code Online (Sandbox Code Playgroud)

这对于 HTTPS 来说一切正常。 …

nginx kubernetes

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

接口设计 - 是否存在访问方法的命名约定?

我有一个关于java接口设计的问题,涉及命名关闭访问方法.通常我在接口中经常使用"get"前缀来访问方法,当我没有setter方法时也是如此.

例如:

public MyObject getTask(int id, String version);
Run Code Online (Sandbox Code Playgroud)

我想通过将方法重命名为大量重构也会影响我的接口

public MyObject findTask(int id, String version);
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否有任何合理的规则来决定接口方法是否应该设计为finder或getter方法?或者那是一种相当随意的东西?

java naming

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

Apache Tika 服务器 - 请求标头参数?

Apache Tika 服务器提供 Rest API 来从文档中提取文本。还可以设置特定的请求标头参数,例如X-Tika-PDFOcrStrategy. 例如:

$ curl -T test/Dokument01.pdf http://localhost:9998/tika --header "X-Tika-PDFOcrStrategy: ocr_only"
Run Code Online (Sandbox Code Playgroud)

从很多关于 tika 的不同文档中,我发现了这些记录的附加标头参数:

X-Tika-OCRLanguage: eng
X-Tika-PDFextractInlineImages: true | false
X-Tika-PDFOcrStrategy: ocr_only  |  ocr_and_text_extraction
X-Tika-OCRoutputType: hocr
Run Code Online (Sandbox Code Playgroud)

但似乎没有关于如何使用X-Tika-.....?标头参数或支持哪些参数、哪些不支持哪些参数的文档。

例如,我想知道是否可以用以下内容覆盖 ImageType 模式或 DPI:

X-Tika-PDFocrImageType: rgb
X-Tika-PDFocrDPI: 100
Run Code Online (Sandbox Code Playgroud)

我的问题是:支持哪些标头参数以及这些参数遵循哪些命名约定?

apache-tika tika-server

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

如何为JUnit测试设置日志级别

我在类中使用Java登录。

例:

public class MyClass  {
    private static Logger logger = Logger.getLogger(MyClass.class.getName());
    ....
}
Run Code Online (Sandbox Code Playgroud)

当我为该类编写JUnit测试时,我想将Loglevel设置为'FINE'。我试过了:

@Before
public void setup() throws PluginException {
    Logger.getGlobal().setLevel(Level.FINE);
    ....
}
Run Code Online (Sandbox Code Playgroud)

但这没有效果。使用Java日志记录时,如何在JUnit测试中控制日志级别?我正在使用Maven运行测试。

java logging junit java.util.logging maven

5
推荐指数
2
解决办法
8179
查看次数