小编Adr*_*fie的帖子

使用 ForkJoinPool Java 找不到 JAXB 类

我使用 jaxb 进行解组,但是当我使用 ForkJoinPoolexecute() 方法时,我得到一个“java.log.ClassNotFoundException:com.sun.xml.internal.bind.v2.ContextFactory”,但我确信存在在我的运行时的类路径中,因为当我不使用 ForkJoinPool 时它可以正常工作......你知道这个问题或解决方法吗?

我使用Java 11

我的代码:

ForkJoinPool commonPool = ForkJoinPool.commonPool();
        commonPool.execute(() -> {
            try {
                String messageFileContent = Files.readString(Paths.get(
                        this.getClass().getClassLoader().getResource("xml-to-process.xml").getPath()));

                JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
                Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
                // avoiding schema validation for more performance
                jaxbUnmarshaller.setSchema(null);
                UpdateWorkOrder updateWorkOrder = (UpdateWorkOrder) jaxbUnmarshaller.unmarshal(new StringReader(messageFileContent));
            } catch (Exception e) {
                e.printStackTrace();
            }
        });
Run Code Online (Sandbox Code Playgroud)

这很奇怪不是...?在ForkJoinPool的execute()之外,解析是正确执行的。

错误是:

javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]
java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at …
Run Code Online (Sandbox Code Playgroud)

java jaxb forkjoinpool

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

如何解释 stddev_time 和 hit_percent

我启动了以下命令,如本文档所示: https: //www.postgresql.org/docs/current/pgstatstatements.html

SELECT query, 
       calls, 
       total_time, 
       rows, 
       100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
FROM pg_stat_statements 
ORDER BY total_time DESC 
LIMIT 5;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何解释stddev_time(显然这可以显示导致问题的查询)

我不明白如何解释以下值:

100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
Run Code Online (Sandbox Code Playgroud)

接近 0 还是 100 比较好?

postgresql pg-stat-statements

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