草庐IT

before_save

全部标签

java - 没有 happens-before 的安全发布?除了 final 还有什么?

根据JCP(16.2.2.安全发布):Thishappens-beforeguaranteeisactuallyastrongerpromiseofvisibilityandorderingthanmadebysafepublication.WhenXissafelypublishedfromAtoB,thesafepublicationguaranteesvisibilityofthestateofX,butnotofthestateofothervariablesAmayhavetouched.ButifAputtingXonaqueuehappens-beforeBfetches

java - XA/JTA 事务 : JMS message arrives before DB changes are visible

上下文是:生产者(JTA事务PT)正在向JMS队列发送消息并进行数据库更新;consumer(JTAtransactionCT)在同一个队列上监听并在收到消息时读取DB;应用服务器-WebLogic,数据库-Oracle。我观察到,有时CT(还?)无法看到PT的数据库更改,如果已收到相应的JMS消息(PTpromise了吗?)。似乎JTA不能保证这种一致性(这在JurgenHoller的演讲“TransactionChoicesforPerformance”中也得到了证实)。避免此类问题的最佳方法是什么(明显的除外-不使用JTA)?谢谢。 最佳答案

java - Apache poi : saving jtable to a file

我最近开始使用java,当我需要从jTable创建一个excel文件时,我遇到了apachepoi库的一些问题。我已经阅读了很多线程并提出了一些行不通的代码(即使这是非常简单的东西并且有很多示例,这让我看起来更加愚蠢)并且我希望有人可以提供帮助我出去。下面是问题:a)为什么应该写入excel文件的for循环没有填满每个单元格?(excel文件中唯一有数据的行是第六行,这也让我想知道为什么它计算getRowCount/Column方法的表模型中的空项。我也知道它打印的是自定义字符串而不是表本身,但将其保存到点b)b)我应该如何使用jtable模型项来填充excel文件,因为在创建表时我必

java - 对象引用未保存的 transient 实例 : how to flush or return saved object

我使用Spring3.2.3、Hibernate4.2.3和JDK7。我有一个简单的实体:@EntitypublicclassLanguage{@Id@GeneratedValueprivatelongid;@Column(nullable=false,length=3,unique=true)privateStringcode;}我使用带有@Transactional注释方法的@Service注释类保存了该实体的实例,该方法使用DAO保存实体sessionFactory.getCurrentSession().save(object);之后,我使用savedLanguage实体创建E

java - 组织.hibernate.HibernateException : save is not valid without active transaction in my case

我有GenericService类,它封装了子类的crud方法:publicabstractclassGenericService,TextendsDomainObject,I>{publicIsave(Tt){returngetDao().save(t);}...........................}类AnswerService扩展GenericService。它AutowiringAnswerDao并将自己声明为@Service和@Transactionalspring组件。@Service@Transactional(propagation=Propagation.R

java - Java 内存模型中的 Happens-Before 关系

关于JLSch17ThreadsandLocks,它说“如果一个Action发生在另一个Action之前,那么第一个Action对第二个Action可见并在第二个Action之前排序”;我想知道:(1)说“之前订购”究竟是什么意思?因为即使action_ahappens-beforeaction_b,在某些实现中action_a也可以在action_b之后执行,对吗?(2)如果action_a发生在action_b之前,是否意味着action_a不能看到action_b?或者action_a可能看到也可能看不到action_b?(3)如果action_a没有发生在action_b之前,

Java 内存模型 happens-before 线程池交互的保证

Java内存模型是否为线程池交互提供happens-before保证?特别是,在运行工作队列中的项目结束之前,线程池工作线程所做的写入对于之后运行队列中下一个项目的工作线程是否可见?规范(我个人认为这个FAQ很有用:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#synchronization)声明“线程上对start()的调用发生在启动线程中的任何操作之前。”或者简单地说,您在启动线程之前所做的任何内存写入都将在启动的线程将要执行的run()方法之前执行并对其可见。它与线程池不同,start()通常会在您进行

java - Eclipse: "Save Actions"选项中的导入+导出操作

可以在Preferences->Java->CodeStyle->CleanUp中将Import+ExportCleanUp设置为xml文件。我希望每次保存文件时都将这些设置应用于代码。不幸的是,当我转到Preferences->Java->Editor->SaveActions时,我没有导入+导出清理设置的选项(即使我可以选择配置他们手动)。有没有办法导入+导出这些设置?澄清:我的目标是创建我可以与我的团队成员共享的清理设置xml,这样如果我们中的任何人保存文件,这些清理设置将自动应用于代码。我正在使用Eclipse4.3Kepler。 最佳答案

java - 使用 maven : run jar before tests and terminate after 进行集成测试

我有一个可运行的jar,我想在我的集成测试开始之前(在pre-integration-test上)在一个新进程中运行它,并在我的集成测试完成后让它终止(在集成后测试).我可以使用的东西之一是maven-antrun-plugin或exec-maven-plugin在pre-integration-test上启动新进程,但如何终止它?对于我想要实现的目标,也许有更好的解决方案?PS:我在Windows和Linux上构建我的项目,所以可移植性对我来说很重要。 最佳答案 您可以使用maven-process-plugin由BV开源以分别启

java - Hibernate Session.save() 不返回值?

下面的代码抛出一个转换错误LongnewID=(Long)session.save(object);我是hibernate新手。不知道为什么。 最佳答案 session.save()的返回值取决于您的映射。很可能您的ID类型不是Long。尝试这样做:System.out.println(session.save(object).getClass().getName());然后您会看到类型名称。 关于java-HibernateSession.save()不返回值?,我们在StackOve