草庐IT

system.transactions

全部标签

java - 是否可以针对不同的日志级别使用不同的模式布局并输出到 SYSTEM_OUT?

对于log4j2,是否可以针对不同的日志级别使用不同的模式布局并输出到SYSTEM_OUT?这是我的log4j2.xml:但是,INFO级消息以“infoMsg”和“debugMsg”模式显示。2015-12-2410:51:56.176Log4jisready.[INFO]2015-12-2410:51:56.176com.myftpserver.MyFtpServer.(MyFtpServer.java:65)-Log4jisready.2015-12-2410:51:56.176Configurationfileisloaded[INFO]2015-12-2410:51:56.1

java - Hibernate 的 Transaction.wasCommitted 方法的替代品是什么?

我正在尝试从旧版本的Hibernate(第3版)更新一些代码。它使用Hibernate5中不再存在的Transaction接口(interface)的两个方法。session.getTransaction().wasCommitted()session.getTransaction().wasRolledBack()Hibernate5中的等价物是什么? 最佳答案 您似乎在寻找session.getTransaction().getStatus()。例如,session.getTransaction().getStatus()==T

java - 如何使用 AspectJ 设置 springframework @Transactional

我想使用spring-aspects使我的方法具有事务性,但不使用SpringAOP(SpringAOP可以正常工作:)。我正在使用Maven来管理我的项目。有没有办法对我的项目类进行编译时编织,这样“它们是Transactional”。我正在尝试使用Mojo'sAspectJMavenPlugin,但没有任何好的结果。请帮忙。 最佳答案 我想通了。Maven插件工作正常,但问题出在我的spring配置上:我有:我需要的是:现在一切正常。我的@Transactional方法的性能得到改善,这也是我的目标。这是我的mavenaspec

java - 为什么要避免 System.exit()?

我在AnthonyRizk的书BeginningBlackBerryDevelopment中读到,虽然System.exit()方法会退出应用程序,但建议避免这种情况,并在退出时通过关闭所有应用程序来正确清理应用程序屏幕代替。我的问题是,为什么要避免System.exit()? 最佳答案 这是一个非常有趣的问题!JavaSEAPI和BBJavaAPI的System.exit()行为不同:在JavaSEAPI中:终止当前正在运行的Java虚拟机。在BBJavaAPI中:终止当前正在运行的Java应用程序。另请查看CarolHamer和

java - @Transactional 注释与 saveAndFlush 一起使用?

我有以下实现。@TransactionalpublicvoidsaveAndGenerateResult(Datadata){saveDataInTableA(data.someAmountForA);saveDataInTableB(data.someAmountForB);callAnAggregatedFunction(data);}publicvoidsaveDataInTableA(DataAa){tableARepository.saveAndFlush(a);}publicvoidsaveDataInTableA(DataBb){tableBRepository.save

java - Java EE 应用程序中的 System.out.println 危害

当我开始学习Java时,有人告诉我不要在JavaEE应用程序中执行System.out.println。但是我真的不知道不这样做的原因是什么。我很清楚如果我们真的需要打印一个重要的,它应该使用日志框架记录。我真正想问的是:System.out.println是否有任何真正的危险?它会导致任何性能问题吗? 最佳答案 确实是性能问题。如果深入研究System.out的JDK源代码,您最终会在输出流上遇到一个synchronizedblock。这意味着如果您在源代码中放置足够多的println调用,整个代码库将有效地单线程运行,因为所有线

java - System.out 在 Jackson 序列化之后搞砸了

我一直在尝试将一些对象序列化到System.out(用于调试)。只要我打电话finalJsonSerializerserializer=newJsonSerializer();serializer.serialize(System.out,myObj);System.out.println("done");它打印出json,但是“完成”永远不会被打印出来。调试这些行,清楚地表明第3行已执行,但输出从未显示。这是jackson的错误,还是我做错了什么?编辑:publicclassJsonSerializer{privateObjectMappergetConfiguredObjectMa

java - Java 的 System.out.print() 会一直缓冲到 println() 吗?

我今天无意中听到关于System.out.print()的争论。一个人声称,由于print()不包括终止\n,它写入的缓冲区最终将填满并开始丢失数据。另一个人声称他们一直在为他们所有的Java程序使用System.out.print()并且从未遇到过这个问题。第一人称对吗?如果stdout已满,System.out.print()是否可以开始阻止或丢弃数据?是否有导致此问题的代码示例? 最佳答案 当System.out.print使用的缓冲区填满时,输出将写入文件(或连接到程序标准输出流的终端或其他数据目标),导致一个空缓冲区。在不

java - System.getProperty ("java.class.path") 和 getClassLoader.getURLs() 有什么区别?

System.getProperty("java.class.path")返回我程序的类路径。然而getClassLoader().getURLs()也为我提供了类路径(参见我的另一篇文章:howtousegetClassLoader)这两种方式有什么区别? 最佳答案 主要区别在于它们返回的内容:getClassLoader.getURLs()返回用于加载类和资源的URL的搜索路径。这包括指定给构造函数的原始URL列表,以及随后由addURL()方法附加的任何URL,请参阅linkSystem.getProperty("java.c

java - 为@Transactional 方法禁用警告 "Access can be package-private"

我有几个用@Transactional注释的公共(public)方法,IntelliJ显示了它们可以是包私有(private)或私有(private)的警告。@TransactionalpublicvoiddoSomething(){///body}由于用@Transactional注释的方法应该是公开的,我如何在IntelliJ中禁用此检查/警告仅针对那些方法? 最佳答案 遗憾的是,不可能让所有用@Transactional注释的方法清除警告,尽管可以将@SuppressWarnings("WeakerAccess")添加到使警告