小编The*_*der的帖子

无法找到所请求目标的有效证书路径 - 即使在导入证书后也会出错

我有一个Java客户端试图访问带有自签名证书的服务器.

当我尝试发布到服务器时,我收到以下错误:

无法找到所请求目标的有效证书路径

在对这个问题进行了一些研究之后,我做了以下工作.

  1. 将我的服务器域名保存为root.cer文件.
  2. 在我的Glassfish服务器的JRE中,我运行了这个:
    keytool -import -alias example -keystore cacerts -file root.cer
  3. 要检查证书是否已成功添加到我的cacert,我这样做:
    keytool -list -v -keystore cacerts
    我可以看到证书存在.
  4. 然后我重新启动了Glassfish并退出了"帖子".

我仍然得到同样的错误.

我有一种感觉这是因为我的Glassfish实际上并没有阅读我修改过的cacert文件,但可能还有其他一些.

你们有没有遇到过这个问题,能否把我推向正确的方向?

java ssl keytool

182
推荐指数
7
解决办法
63万
查看次数

Tomcat不会停止或重启

我试着阻止tomcat.它失败了这条消息:

  • Tomcat没有及时停下来.PID文件未被删除.

然后我再次尝试并得到了这个:

  • 找到PID文件(/opt/tomcat/work/catalina.pid)但未找到匹配的进程.停止中止.

然后我尝试在调试模式下启动tomcat并获得:

  • 找到PID文件(/opt/tomcat/work/catalina.pid).Tomcat还在运行吗?开始中止.

我删除了/opt/tomcat/work/catalina.pid并尝试重启并得到了这个:

  • 已设置$ CATALINA_PID(/opt/tomcat/work/catalina.pid),但指定的文件不存在.Tomcat正在运行吗?停止中止.

有谁知道如何让tomcat重启?

tomcat catalina

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

卷曲重试机制

我有一个脚本,我运行以部署2个Web服务和一个前端应用程序.该脚本调用一种方法,该方法检查2个后端服务是否已启动并正在运行.如果是,请认为部署成功,否则还原.

2个服务有时需要比前端更长的启动时间.目前我进入睡眠呼叫以延迟Web服务检查.这使他们有时间启动.

我想删除此睡眠并添加重试机制,以便在服务停止时重复检查,直到我得到响应.

Tp检查设备是否已启动,我使用curl.我已经读过curl有一个重试机制,但我从来没有用过它.

你们之前有没有解决过这个问题?我想了解解决问题时必须考虑的事项,例如,在我从服务中获取HTTP 200之前,我是否会重试?

有人建议我怎么测试这个?我需要找一个失败的服务.

编辑:我看到-​​retry只对瞬态错误做出反应'瞬态错误意味着:超时,FTP 4xx响应代码或HTTP 5xx响应代码'.我的服务可以返回404,因此curl的重试不是我的解决方案.

rest curl web-deployment

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

Maven - 无法为对象堆错误预留足够的空间

我是Maven来构建我的Java项目.几次成功构建后,我现在收到以下错误:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Run Code Online (Sandbox Code Playgroud)

在我的构建使用的maven.sh文件中,我添加了以下内容作为第一行

export MAVEN_OPTS=-Xmx512m
Run Code Online (Sandbox Code Playgroud)

我仍然得到错误.

有人可以建议修复吗?

jvm maven

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

ArrayBlockingQueue如何避免混乱数组元素?

场景:在我的消费者有机会消费之前,我的制作人填充了数组,比如容量new int [10].我的制作人看到数组已满并阻塞.

然后我的消费者出现并删除int [0],并向生产者发出信号,表明该数组现在有一个空槽来填充.

我的制作人醒来,并尝试向数组中添加一个新元素.考虑到只有int [0]是免费的,我们正在实现FIFO,ArrayBlockingQueue是否将剩余的9个元素向左移动,填充0-8个索引并为生产者留下int [9]?

我查看了实现,但没有看到任何数组复制功能,

java queue multithreading

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

如何从Web应用程序中读取文本文件

我正在编写一个Jersey Restful服务,通过war文件部署在Tomcat上.

该服务需要读取3个文本文件中的数据.文本文件需要存在于文件系统上或从类路径中读取.我试图从文件系统和类路径中读取数据,但两者都没有工作.无论哪种方式,我都会感到高兴 - 这没关系.

如果是使用以下代码,有人可以告诉我在哪里放置指定的文本文件,以便代码获取文件?

BufferedReader br = new BufferedReader(new InputStreamReader
(this.getClass().getClassLoader().getResourceAsStream("myfile.txt")));
Run Code Online (Sandbox Code Playgroud)

我得到一个空指针异常.

如果我要从文件系统中读取文件,请使用以下代码,我将文件放在Jar中?

FileInputStream fs = new FileInputStream("myFile.txt");
DataInputStream is = new DataInputStream(fs);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
Run Code Online (Sandbox Code Playgroud)

我收到了FileNotFound异常.

欢迎任何建议.

java file war

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

Intellij 错误:内部缓存已损坏或格式已过时

当我在 Intellij 中构建 Java 项目时,我间歇性地收到错误。

内部缓存已损坏或格式过时,强制项目重建: java.io.FileNotFoundException: C:\target\classes\ehcache.xml (访问被拒绝)

我已经运行“文件”->“使缓存无效”。我已经重新启动 Intellij 并终止了所有 Java 进程。我最终让它再次构建,但不确定我尝试的方法是否有效。

当我尝试访问“目标”文件夹时,它显示“访问被拒绝”。

有人以前见过这个吗?

java ehcache intellij-idea

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

在运行配置停止之前未连接应用程序服务器,原因:java.io.IOException:无法检索 RMIServer 存根:

我正在尝试使用 IntelliJ 中的 Jetty 插件来部署我的应用程序。我收到此错误消息。我能够使用 Tomcat 成功部署该应用程序。

谁能建议为什么?

Application Server was not connected before run configuration stop, reason:
    java.io.IOException: Failed to retrieve RMIServer stub:
    javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException:
    error during JRMP connection establishment; nested exception is: 
    java.net.SocketException: Connection reset]
Run Code Online (Sandbox Code Playgroud)

jetty intellij-idea

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

Log4j2自定义布局

我正在使用Log4j2 PatternLayout.是否有可能编写自己的Layout扩展AbstractStringLayout,以便我可以自定义输出消息?

我已经阅读了文档,但我只看到了布局的变化 - 没有自定义的.

https://logging.apache.org/log4j/2.x/manual/layouts.html

java log4j2

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

SonarQube - 无法连接到 > localhost/0:0:0:0:0:0:0:1:9000

当我在本地构建 Maven 项目时,我运行声纳检查。我收到以下错误。谷歌搜索尚未解决该问题。

我是 SonarQube 新手 - 我是否缺少配置?

[错误] 无法在项目 x 上执行目标 org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli):无法执行 SonarQube:无法从服务器获取引导索引:无法连接到 localhost/0:0:0:0:0:0:0:1:9000:连接被拒绝:连接

java maven sonarqube

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

Spring Batch - 一次写入 2 个表

我有一个包含地址列表的 Person 对象。我的 Spring Batch 应用程序将 Person JSON 记录转换为 Person POJO 并将它们写入数据库。

通常,我会使用 JdbcBatchItemWriter,但我发现它仅限于写入 2 个单独的表。我需要写入人员和地址表。

Hibernate 可以一步完成此操作,但我在 Spring Bathc 中没有看到类似的功能。

这个SO问题Multiple itemwriters in Spring Batch建议使用CompositeItemWriter,但问题是,我希望我的Address表包含一个名为Person_id的列,以将地址链接回Person。我无法通过两次写入来做到这一点。

有什么建议么?当然,Batch 可以满足更复杂的写入需求

java spring-batch writers

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

乔达时间 - 错误的结果

谁能告诉我为什么这个测试失败了?我尝试了普通的Java Date util,它也给了我相同的结果.

java.lang.AssertionError:预期:2014年1月1日00:07:00 CET 2014年但是:Fri Jan 31 00:06:00 CET 2014

public static Date addDaysToDate(Date fromDate, int days){       
    DateTime dateTime = new DateTime(fromDate);
    return dateTime.plusDays(days).toDate();
}

@Test
public void test() throws ParseException {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
    Date fromDate = sdf.parse("2014-06-30");

    Date toDate = DateUtil.addDaysToDate(fromDate, 1);
    assertEquals(sdf.parse("2014-07-01"), toDate);
}
Run Code Online (Sandbox Code Playgroud)

java date jodatime

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