草庐IT

java - 使用 Java Keytool 更新证书 - 重用旧的 CSR?

我在Javakeystore中有一个SSL证书。它大约一周后就会过期,我需要续订它。我可以重用以前的CSR(CA仍然有)然后使用import命令导入证书,还是我需要生成一个新的CSR? 最佳答案 您可以(如果您的CA不检查公钥重用),但这是一种糟糕的安全做法。有效期的主要目的是限制证书和相关私钥暴露于被破坏可能性的时间。 关于java-使用JavaKeytool更新证书-重用旧的CSR?,我们在StackOverflow上找到一个类似的问题: https://

java - 在调用设置文本后,JLabel 在旧文本上绘制新文本

我有一个进度对话框窗口,其中包含3个JComponents:JLabel、JProgressBar、JButton,它们在不同线程的应用程序的不同部分用作默认对话框窗口。因此,当我尝试更改标签的值时,它不会清除其下方的背景,它只是在旧文本上绘制新文本。包装类不会覆盖任何方法,它只是将方法调用委托(delegate)给它包含的组件。代码如下:publicvoidsetNote(Stringnote){this.note=note;SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){label.setText(ProgressD

Java:新枚举是旧枚举的子集

在Java中,有什么方法可以从现有枚举定义新的枚举吗?我想要以下功能。publicenumA{1,2,3,4,5,6,7,8,9};publicenumB{1,2,3,4};publicenumC{3,4,5,6,7};1、2、3和all必须相同,即A.1==B.1=trueB.4==C.4=true现实生活中的例子是“DAYS”、“WEEKDAYS”、“WEEKENDDAYS”、“LECTUREDAYS”、“PARTYDAYS”等等。 最佳答案 您不能扩展枚举,但从您的周/周末示例来看,您似乎需要稍微不同地考虑它。如果我们有enu

java - 将 Activiti 任务从旧流程迁移到新流程

我有一个用于某些业务流程的Activiti项目。问题是关于迁移的。现有流程有一些未完成的任务。我想通过添加新步骤来修改现有流程。现在,当我创建一个新任务时,这个新任务将根据更新后的流程进行处理。未完成的任务将按旧流程处理。让我们来看下面的例子:https://spring.io/blog/2015/03/08/getting-started-with-activiti-and-spring-boot在此示例中,请考虑以下行:taskVariables.put("telephoneInterviewOutcome",true);假设我有一些业务逻辑代码,我在其中检查此变量的值,例如:if

java - 如何删除 ThreadPoolExecutor 中的旧排队任务并插入新任务?

我使用ThreadPoolExecutor从互联网加载大量图像。当找到新图像时,我需要先渲染它,在这种情况下我想放弃仍在ThreadPoolExecutor中排队的旧任务并添加这些新项目进行下载。我发现ThreadPoolExecutor中没有“clearqueue”方法,“purge”方法听起来不太好。我该怎么办?我只是想调用这个执行器的“关闭”并重新创建一个新的执行器来执行此操作,不确定是否合适。 最佳答案 你试过吗?ThreadPoolExecutorpool=.....;pool.remove(task);task是您要删除

java - 在 add() 上丢失最旧元素的集合

我正在寻找一个实现Collection的Java类,并且当我add()一个新元素时丢失最旧的元素,如果元素总数大于X.是否存在或我必须自己实现?我需要一个线程安全的。 最佳答案 如果您正在寻找列表类型的解决方案,除了Linkedhasmap之外,GoogleGuava还有EvictingQueue.为了线程安全,您必须将其包装在同步包装器(Queues#synchronizedQueue)中。EvictingQueueq=EvictingQueue.create(3);QueuesyncQ=Queues.synchronizedQu

java - 学习旧版Java系统

我的任务是维护和重构旧版Java系统。尽管我对Java熟悉,但我目前正在使用C#和.NET。遗留系统使用RMI(一种客户端/服务器体系结构),并且是针对1.4JVM设计的。它用于UI(据我所知),Swing和AWT。我的问题是:与我刚接触过的代码库达成共识的最佳方法是什么?我在考虑屏幕流程图,定义RMI调用之间的边界,并编写单元测试(针对可测试的位)。当您遇到不熟悉的代码库时,您会如何处理?谢谢!-贾罗德 最佳答案 我要处理的任何新代码的第一件事是查看现有的单元测试。编写新测试通常是第二件事。

java - 使用 JPA 获取旧数据

我使用JPA获取旧数据,即使我禁用了缓存。我猜是因为资源被配置为RESOURCE_LOCAL,但我不确定。org.eclipse.persistence.jpa.PersistenceProvidercom.myentities.User我的代码正在获取有关用户的旧信息:publicListfindAll(Appapp){getEntityManager().getTransaction().begin();Queryq=getEntityManager().createQuery("SELECTt1FROMUsert1WHEREt1.app.idApp=:idApp");q.setP

java - 重新启动 aerospike 服务器读取旧值

我正在使用带有存储机制SSD的aerospike集群。我已经更新了一些键,但是当我重新启动aerospike集群时,它恢复了以前的值来代替新值。WritePolicywritePolicy=newWritePolicy();writePolicy.recordExistsAction=RecordExistsAction.UPDATE;writePolicy.generationPolicy=GenerationPolicy.NONE;BinwhiteList=Bin.asNull("bin1");BinblackList=Bin.asNull("bin2");client.put(w

java - Eclipse 运行旧版本程序

我在eclipse中运行我的应用程序时遇到问题。我做了一些这样的编辑:Stringres="newvalue";System.out.println(res);但是当我运行应用程序时,我仍然在输出中收到“oldvalue”。在此之后,我尝试删除main()函数-然后我运行应用程序,我再次在输出中看到“oldvalue”。也许是JVM中的一些缓存,或者smth。还有吗?更新:我的时钟现在是15:35。但是在/bin文件夹中,我看到带有14:33时间戳的.class文件。我更改了源文件(.java),在eclipse中按ctrl+f11,/bin文件夹中的文件仍然是14:33...UPD2