草庐IT

组管理

全部标签

java - Spring 和 Hibernate 的事务管理使非 Activity 事务成为可能

我正在使用Spring和Hibernate管理一个JavaWeb应用程序。我使用Spring和Hibernate工具来处理持久性级别,因此我不需要提交\回滚我的事务。该应用程序是并发的,因此用户可以修改相同的记录,我决定使用ReadCommitted作为隔离级别。问题是有时我会在日志中发现JDBC错误,并且所有下一个请求都会出现相同的错误,从而阻止应用程序行为。这些是事务管理中涉及的组件:@BeanpublicSpringLocalSessionFactoryBeansessionFactory(DataSourcedataSource){SpringLocalSessionFacto

java - java中的无痛资源管理

在C++中,我们在构造函数中获取资源并在析构函数中释放它。因此,当异常在函数中间出现时,不会发生资源泄漏或互斥锁锁定等情况。据我所知,Java类没有析构函数。那么如何在Java中进行资源管理。例如:publicintfoo(){Resourcef=newResource();DoSomething(f);f.Release();}如果DoSomething抛出异常,如何释放资源?我们不能在整个代码中放置try\catchblock,对吗? 最佳答案 是的,您可以而且应该在您的代码周围放置try/catch/finallyblock。

java - 管理 Java 版本兼容性

我读过“JDKsareusuallyforward-compatible,andJREsareusuallybackward-compatible”。Java开发人员在他们的应用程序中执行哪些类型的版本检查?您是否在每次发布时都升级您的JDK?如何最大限度地减少版本之间的不兼容性? 最佳答案 Howdoyouminimizeincompatibilitiesbetweenreleases?阅读类似IncompatibilitiesinJ2SE5.0since1.4.2的文档使用thistable找出jdk版本之间的所有不兼容性:报告

java - 如何启动和管理Java线程?

下面的代码工作正常,但我想知道..从概念上讲,它是否正确?启动线程,等待它们加入。应该使用ThreadPool吗?如果可以,请评论Listthreads=newArrayList();for(Testtest:testsToBeExecuted){Threadt=newThread(test);threads.add(t);t.start();}for(Threadthread:threads){thread.join();} 最佳答案 概念上看起来不错。您可以使用您创建的ExecutorService:ExecutorServic

java - 使用 Play 进行用户管理!框架 2.0.3

我是Play的新手!我是一名Django开发人员,我开始使用Play!几天前。我找不到有关如何将新用户注册到我的应用程序的信息。我不想使用OAuth,我只想用密码加密管理我自己数据库中的用户。顺便说一下,我使用的是Java版本。 最佳答案 还没有准备好,但我建议您使用play-authenticate(livedemo)作为基础。这是目前Play2最先进的身份验证和授权解决方案。它结合了用于授权(角色和权限)的deadbolt-2+自己的身份验证,这使得它非常适合作为堆栈开始。虽然它的基本思想是提供一种使用OAuth对用户进行身份验

java - Spring 无法注入(inject)实体管理器工厂

我使用JPA为我的DAO类编写测试,使用Hibernate作为JPA提供程序和Spring3.2。我无法正确注入(inject)实体管理器,尝试访问它时出现NullPointerException。我的GenericDAO实现如下所示:@RepositorypublicclassGenericDAOImplimplementsGenericDAO{@PersistenceContext(unitName="unitname")privateEntityManagerentityManager;publicEntityManagergetEntityManager(){returnent

java - Spring 管理事务、EclipseLink JPA、自定义隔离级别

我怀疑这个很尴尬,我做错了很糟糕,但请耐心等待。我有一个带有Spring管理的事务的Spring应用程序。它使用EclipseLinkJPA。我有一个执行findByNativeQuery()后跟merge()的方法。我需要在真正的串行事务隔离级别中发生这种情况。我尝试添加@Transactional(isolation=Isolation.SERIALIZABLE)这不起作用,因为org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect#beginTransaction不支持任何事务隔离级别,但默认。因此,我尝试进入Elcips

java - 使用 spring ws 后端 Web 应用程序进行 session 管理

我正在尝试创建一个web应用程序,它将使用js前端并在后端调用SpringWS。假设这是一个购物网站类型的网站。因此,我可以拥有OrderServiceInventoryServiceShippingService等服务。唯一需要session的是用户的购物车。现在,就这个购物车而言,使用servlet容器进行session管理是否有意义?或者,我应该有CartService将session信息保存到数据库吗?在使用Web服务进行session管理时,最佳实践是什么?我想,最好的做法确实是保持服务无状态,但如果我有无状态网络服务,我该如何授权用户呢?使用一个servlet容器来进行se

java - 如何在 DDD 中管理域逻辑和事件之间的事务?

我正在研究DDD和事件源中的编程。我看到一个示例,当调用域逻辑(例如Order.placeOrder())时,它会发布一个事件(例如OrderPlaced)。并且该事件将作为事件存储发送到MQ。域逻辑(Order.placeOrder())应该是一个原子API,如果使用Spring作为事务管理器,它应该有@Transactional注释。现在我的问题是:如何确保数据库更改和事件发送在同一个事务中?即,如果在将数据提交到数据库时出现任何错误,则事件永远不会发送到MQ。我知道有像XA或2阶段提交这样的解决方案来强制数据库更新并在同一事务中发送MQ消息。但现在似乎并没有被广泛使用。如果还是用

java - 如何在 Libgdx 中管理多个屏幕的后退按钮?

如果有什么方法可以管理Libgdx中的后退按钮?例如在Andengine中我是这样实现的:@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){switch(currentScene){caseSPLASH:break;caseMENU:Process.killProcess(Process.myPid());break;caseWORLDMENU:start(MENU);b