Log4j2:如何将日志写入每个用户的单独文件?

这是我面临的挑战: 我有一个servlet程序。 我需要将每个用户的日志写入以该用户命名的文件夹。 像这样的东西: // stores message to David folder // /root_path/David/logfile.log logger.error(MarkerManager.getMarker(“David”), “Error happened”); // stores message to Mark folder // /root_path/Mark/logfile.log logger.error(MarkerManager.getMarker(“Mark”), “Something is broken”); 在我的例子中,我使用了标记。 但我真的不知道标记是否适合这项任务。 一般来说,我的appender应该像RollingRandomAccessFile appender一样。 我想apppen for appender必须看起来像这样: 有任何想法吗?

从具有相同持久性单元的多个Db读取?

我需要一些帮助来使用相同的Persistence单元为多个db配置多个连接。 它们都具有相同的架构。 因此我想使用相同的持久性单元/ DAO等,并且不想设置10个EntityManagers,10 Persistence xml等。有没有办法做到这一点? 这是我当前的配置: com.domain.TktOrder 我也使用Spring / hibernate来设置我的上下文: 最后我用: @PersistenceContext(unitName=”PersistenceUnit-c1″) public void setEntityManager(EntityManager entityManager) { this.entityManager = entityManager; } 将我的EntityManager注入我的DAO 如何扩展此模型以便能够使用db1然后更改数据源并再次执行db2等? 非常感谢提前帮助!

如何在JUnit5中使用Mockito

如何使用Mockito和JUnit 5进样? 在JUnit4中,我可以使用@RunWith(MockitoJUnitRunner.class) Annotation。 在JUnit5中没有@RunWith Annotation?

分解RSA / ECB / OAEPWITHSHA-256ANDMGF1PADDING

所以Java有一个名为RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING 。 那有什么意思? RFC3447 , 公钥加密标准(PKCS)#1:RSA加密规范版本2.1 ,第7.1.2节解密操作说Hash和MGF都是RSAES-OAEP-DECRYPT的选项。 MGF是它自己的function,在B.2.1节MGF1中定义,并且它也有自己的Hash“选项”。 也许RSAES-OAEP-DECRYPT和MGF1中的Hash“选项”应该是相同的,或者它们可能不是,我不清楚。 如果他们是那么我猜你有RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING这意味着sha256应该用于两者。 但如果它们不应该是相同的那么你可以将sha256用于RSAES-OAEP-DECRYPT,例如,sha1用于MGF1。 如果是这种情况那么sha256应该用于什么function呢? 什么哈希算法应该用于其他function? 欧洲央行在这方面的意义是什么? ECB是对称分组密码模式。 电子密码本。 也许它应该意味着Java如何处理比模数更大的明文? 就像将明文拆分成与模数一样大的块,然后用RSA加密每个块并将它们连接在一起? 我猜…

模型类在Hibernate中运行多个查询..!

当我使用hibernate关系映射时 @OneToOne @oneToMany @ManyToOne 关系,它为每次获取创建多个查询。 任何人都可以帮助我理解关系如何运作.. ??

无法在logback.xml中使用Spring Property Place

我有一个使用Logback的Spring Boot控制台应用程序。 所有属性(对于应用程序以及对于Logback)都被外部化到类路径中的标准application.properties文件中。 这些属性在应用程序本身中很好地被选中,但是在logback.xml文件中没有被选中。 似乎在Spring Boot启动之前处理了logback.xml,因此不会处理EL占位符。 以FileNamePattern为例,在application.properties中,我有这样的事情: log.filePattern=/%d{yyyy/MM-MMMM/dd-EEEE} 在logback.xml中,我会这样: ${log.logDirectory}${log.filePattern}.log 运行应用程序时,我会看到以下错误: ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:25 – RuntimeException in Action for tag [rollingPolicy] java.lang.IllegalStateException: FileNamePattern [log.logDirectory_IS_UNDEFINEDlog.filePattern_IS_UNDEFINED.log] does not contain a valid DateToken 类似的代码在其他Spring(而不是Spring Boot)应用程序中运行得很好,所以我很好奇Spring Boot的行为有点不同。 解: 感谢@Gary的回复! 很高兴知道Spring EL和Logback变量之间的区别……我原以为是Spring负责为我解析这些变量。 我确实有元素,但这让我思考。 我的application.properties文件在jar之外,所以Logback不知道在哪里找到它。 通过在我的外部application.properties文件中保存与Spring相关的属性,将与日志相关的属性移动到application-internal.properties文件(位于jar中),并将Logback指向该文件( )让一切按预期工作!

文本清理和替换:从Java中的文本中删除\ n

我正在清理Java代码中的传入文本。 该文本包含许多“\ n”,但不是在新行中,而是字面上的“\ n”。 我正在使用String类中的replaceAll(),但是无法删除“\ n”。 这似乎不起作用: String string; string = string.replaceAll(“\\n”, “”); 这也不是: String string; string = string.replaceAll(“\n”, “”); 我想最后一个被识别为一个实际的新行,因此文本中的所有新行都将被删除。 此外,从String中删除不同模式的错误文本的有效方法是什么。 我正在使用正则表达式来检测它们,像HTML保留字符等等和replaceAll,但每次我使用replaceAll时,整个字符串都被读取,对吧? 更新 :谢谢你的答案。 我在这里扩展了这个问题: 文字替换效率 我特别询问效率:D

无法读取工件描述符:IntelliJ

我遇到了我的Maven POM文件的问题,它无法找到火花依赖并且返回错误:无法读取org.apache.spark的工件描述符:spark-streaming-kafka_2.10:jar:1.2.1 我已经确认它不是任何公司防火墙的问题,因为所有其他依赖项都正确加载,只是这个。 我也能够在我的maven设置中确认它正试图从以下回购中获取。 我尝试删除本地计算机上的.m2 repo以重新加载它,仍然没有骰子。 http://repo.maven.apache.org/maven2/org/apache/spark/spark-streaming-kafka_2.10/1.2.1/ 下面是我的pom文件 my.group.id sentiment 1.0-SNAPSHOT NPITWITTER com.sparkjava spark-core 1.1.1 org.apache.spark spark-streaming-kafka_2.10 1.2.1 org.apache.spark spark-core_2.10 1.2.1 org.apache.spark spark-streaming_2.10 1.2.1 org.apache.spark spark-hive_2.10 1.2.1 org.apache.spark spark-sql_2.10 1.2.1

使用JNI从C调用Java代码时内存泄漏

我有一个C程序,使用JNI在Java商店中存储一些对象。 (在有人问之前,使用java商店是一个需求,我必须在C中编写一个能够从该商店添加和检索对象的客户端)。 我制作了程序并尝试添加100000大小为1KB的对象。 但是在添加了50000个对象后,我得到了“内存不足”的消息(请注意,每当我无法使用NewStringUTF和NewByteArray函数分配新的字符串或字节数组时,我就会打印这些“内存不足”消息)。 那时我的应用程序只使用80MB的内存。 我不知道为什么这些方法返回NULL。 有什么我想念的东西。 此外,即使我正在发布为java创建的字节数组和字符串,内存也在不断增加。 这是源代码。 void create_jvm(void) { JavaVMInitArgs vm_args; JavaVMOption vm_options; vm_options.optionString = “-Djava.class.path=c:\\Store”; vm_args.version = JNI_VERSION_1_4; vm_args.nOptions = 1; vm_args.options = &vm_options; vm_args.ignoreUnrecognized = 0; JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); if(env != null) { j_store = (*env)->FindClass(env, “com/store”); if(j_store == null) { printf(“unable to find class. class name: JStore”); } } […]

如何在Java中更改光标图标?

我想在Java应用程序执行时将光标图标更改为我自定义的32×32图像。 我查找并搜索,我发现的只是在JComponent上设置光标。 但是,只要Java应用程序仍在运行,或者您可以说程序运行时,我希望将光标更改为指定的图标,无论它在何处移动,浏览和单击。 非常感谢。