Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
轻量级java事务管理_Java_Transactions - Fatal编程技术网

轻量级java事务管理

轻量级java事务管理,java,transactions,Java,Transactions,我目前正在为一款主要针对智能手机的基于回合的持久性世界游戏开发一款游戏服务器,我目前正在开始实现持久性层,我正在寻找一些提示/建议 我最初计划将mybatis用于持久层,mybatis guice插件实现了一个简单的@Transactional注释,与Spring的注释类似,但没有整个框架的重量。不幸的是,我抛弃了mybatis,因为我发现我和ORM的斗争太多了,而且我的关系设计并没有很好地规范化。现在我基本上使用的是JDBC,我真的试图避免在一系列DAO调用中编写大量用于管理事务和连接的样板代

我目前正在为一款主要针对智能手机的基于回合的持久性世界游戏开发一款游戏服务器,我目前正在开始实现持久性层,我正在寻找一些提示/建议

我最初计划将mybatis用于持久层,mybatis guice插件实现了一个简单的@Transactional注释,与Spring的注释类似,但没有整个框架的重量。不幸的是,我抛弃了mybatis,因为我发现我和ORM的斗争太多了,而且我的关系设计并没有很好地规范化。现在我基本上使用的是JDBC,我真的试图避免在一系列DAO调用中编写大量用于管理事务和连接的样板代码


我还避免在这里使用任何应用程序服务器,或者使用spring添加应用程序服务器,因为它们似乎不适合,服务器在netty之上以直接的java运行。考虑到这些条件,有没有简单的事务管理器,或者我是否一直在尝试自己的事务管理器?像mybatis guice的@Transactional之类的东西会很棒。

Spring和Hibernate的组合是最好的,因为它们都很轻,取决于您的需要

目前我们正在使用OpenJPA,对此也非常满意


它需要多轻??春天去冬眠它们很轻。Guice是一个简单、轻量级的DI框架,我相信您已经意识到了这一点,但通过添加事务管理等内容,您最终会得到太多的低端开源产品*(我并不是说Guice无论如何都是低端产品)*您会发现,它并不比其他开源替代方案更轻松,社区支持也会更少,因为使用它们的人不多。

如果您正在寻找一种更好的方法来完成数据库工作,而不必使用全面的ORM,那么您可以看看。它是一个非常轻巧的JDBC包装器,修复了许多缺点、遗漏和令人毛骨悚然的时刻。

Spring似乎主要用于基于web的应用程序,不是吗?我在netty上使用自定义tcp协议为我的客户服务,该服务器用于在线游戏。这与spring的集成程度如何?虽然我不知道它不是一个web应用程序,但spring在web应用程序之外也能很好地工作,并且不意味着它只是一个web架构。试一试,我相信你会喜欢的。有更好的选择吗?可能不会,但可能和春天一样好。我在多年前为使用套接字的客户端编写的聊天客户端中使用了spring。我想底线是你们必须自己去衡量,但简单的回答是肯定的,它会很好。在大多数情况下,春天是好的,尽管我必须警告你们@事务性的将只在直接从spring上下文创建的bean上工作。此外,即使在带注释的bean内部,它也不适用于本地调用。尽管有一个选项:您可以使用TransactionTemplate,但我不确定您是否已经在使用spring。但如果没有,也可以看看JdbcTemplate。您可能会喜欢您的应用程序。我最终使用了Spring,它是JDBC抽象,非常适合我当前的需要。这不是事务管理器,但我希望解决您的“我的代码不适合ORM井”问题。我还没有发现需要使用JDBI的事务管理器。