@交易型传播交易只针对少数例外情况
我试图让所有未选中的例外事务失败,除了特定的未选中例外(在我的情况下 - deplicateKeyexception).如何使用 @transactional注释的春季框架来实现此自定义? 谢谢! 解决方案 尝试 norollbackfor 选项 @Transactional(noRollbackFor=DuplicateKeyException.class) 其他解决方案 这样做: public void driverMethod(){ try{ BeforeException() } catch(DuplicateKeyException e) AfterException() } @Transactional(propagation = Propagation.REQUIRES_NEW) private BeforeException(){ } @Transactional(propagation = Propagation.REQU
0 2024-02-26
编程技术问答社区
Grails @Transactional与Spring @Transactional注解之间的区别
好吧,圣杯.它说: the the the transaction.transactional注释首先在Grails 2.3中引入.在2.3之前,使用了Spring的 @TransActional注释. ,但我似乎找不到这两个注释之间的主要区别.为什么春季的注释未来版本不使用? 解决方案 我想讨论此评论:"但是,在2.3中,团队认为(我个人不同意)引入新的注释是一个好主意,不仅可以应用于服务,还可以应用于控制器." Grails团队从来都不是引入可以在控制器和服务上使用的注释.我们的主要目的是引入AST变换,以消除对代理的需求,并且比Spring的@transactional表现更好. Grails的 @Transactional Wire是直接处理交易的必要逻辑,不需要代理,因此我们为什么认为它比Spring的版本更好. 它也适用于控制器的事实仅仅是我们发现的上述副作用.话虽如此,根据我们的经验,用户太多了,用户在使用控制器时无法正确划分其交易界限.如果
0 2024-02-26
编程技术问答社区
如何扩展Spring注解@Transactional
我必须在WebApp中使用3个不同的交易管理器.因此,我根据一个注释(用于使用一个特定的TransActionManager)看起来像: import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.transaction.annotation.Transactional; @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Transactional("customer") public @interface CustomerTX{ } 用自定
0 2024-02-26
编程技术问答社区
弹簧传播的通俗例子
Spring Docs 做一个描述交易繁殖属性的绝佳工作. 但是,我想知道是否有任何知名的现实世界示例可以用外行的术语更彻底地描述这些属性? 解决方案 propagation_required class Service { @Transactional(propagation=Propagation.REQUIRED) public void doSomething() { // access a database using a DAO } } 当dosomething()称为dosomething()时,如果呼叫者尚未启动事务. ,它将启动新事务 如果此方法的呼叫者已经开始交易,则使用呼叫者的交易,并且没有创建新事务(即,在玩一项交易). 如果在dosomething()内抛出异常 当dosomething()返回交易时,尚未进行交易.是呼叫者将提交交易(或可能滚动后). propagation_re
0 2024-02-26
编程技术问答社区
在SELECT查询中的Hibernate ConstraintViolationException
我有一个持久的类,上面有多场独特的约束.但是定义的唯一约束对我来说还不够 i实施checkUniqueConstraint方法. 在dao类的添加和更新方法中,我在添加或更新persist对象之前调用checkUniqueConstraint. checkUniqueConstraint方法只需运行一个选择查询即可找到类似于输入的对象,并在找到一些核对的地方. . public class PersistClassDao { public void checkUniqueConstraint(PersistClass persistObject) throws DuplicateEntityException { /** * creating a query string that find persist objects similar to input parameter. **/ try { PersistCl
14 2023-11-06
编程技术问答社区
交易中存储了哪些数据?
哪些数据存储在@transactional Services中,尤其是在交易中?如果我有控制器布局,服务布局,DAOS和数据库 - 为什么我必须将服务与 @transactional注释一起使用以及在这些布局之间存储哪些数据? 例如,我发送一些对象数据,并希望将其写入数据库.好吧,在交易中将存储所有这些数据?但是,如果我只通过对象的给出和ID来更新数据库中的某些数据怎么办? 你能帮我理解吗? 解决方案 这与交易中的存储数据无关.这是关于在一次交易中运行一些操作. 想象一下您创建银行系统,并且您有赚钱转移的方法.让我们假设您想将钱从accounta转移到帐户 您可以在控制器中尝试类似的东西: //Controller method { //... accountA.setValue(accountA.getValue() - amount); accountService.update(accountA); accountB.setValue(accountB.
10 2023-10-25
编程技术问答社区
Spring @Transactional 传播不工作
我有一个非常简单的代码,包括服务 - > requestProcessor-> DAO在每一层中都有2-3个类(接口,抽象,混凝土). 服务层: - public interface Service { public void saveOrUpdate(Object entity, String operationName); } } public abstract class AbstractService implements Service{ public abstract ReqProcessor getRP(); @Override public void saveOrUpdate(Object entity, String operationName) { ReqProcessor hiberTestRP = getRP(); hiberTestRP.saveOrUpdate(entity, operationNa
16 2023-10-25
编程技术问答社区
在使用注解的Spring应用程序中,由于Hibernate 3的 "父 "应用程序上下文中没有定义会话,导致了LazyInitializationException。
我对Hibernate3和Spring3都是相当新的,我遇到了与初始化Hibernate对象的懒惰参考有关的问题. 我有一个完全包含的DAO和服务.域对象是使用HBM2Java和逆向工程文件创建的.我遵循了我在服务对象上使用注释(@transactional)发现的一些最佳实践. (本指南对我很有帮助 http:http:http:http: carinae.net/2009/11/layered-Architecture-with-hibernate-and-spring-3/) 我遇到的问题是,我的服务中有以下春季配置.注释处理和交易管理:
6 2023-10-25
编程技术问答社区
SpringMVC。@交易性的原因。没有定义[...]类型的限定bean
我的主要功能类: public class Database2Redis { public static void test(ApplicationContext applicationContext) { BaseFckImpl service = applicationContext.getBean(BaseFckImpl.class); // ... } public static void main(String[] args) throws Exception { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml"); test(applicationContext); } } 我的basefck类: @Serv
20 2023-10-25
编程技术问答社区
Spring @Transactional在方法周围放上方面后不会回滚。
我有两个在另一种内部的交易方法.当围绕围绕Methoda交易及其围绕方面的方向良好时.调用Methoda后,我们调用MethodB,Methodb在DB中写入一些内容,然后在Methoda中返回,抛出异常,然后返回rolback. 但是,当我将自己的方面围绕Methoda时,Methodb不会回滚.我无法弄清楚那里发生了什么.我尝试了许多繁殖属性的组合,但似乎没有用. 提前致谢. 我使用弹簧2.5.4 我在ApplicationContext.xml中具有此配置:
8 2023-10-25
编程技术问答社区
@春季的ManagedBean和@Transactional bug?变通办法?
我在WebApp中有以下JSF支持bean @ManagedBean class MyBackingBean implements Serializable { private MyHibernateRepository repository; ... @Transactional public void save() { .... repository.save(myObject); } } 到达repository.save方法调用时 - 我会收到以下错误 no transaction is in progress 我有两个问题 这是因为一个错误喜欢这个吗? 我相信有两个解决方法 - 还有其他吗? 2.1第一个解决方法 - 使用 transactionTemplate.execute(new TransactionCallbackWithoutResult() {
8 2023-10-25
编程技术问答社区
如何在Mongodb中安全地更新序列号?
在我的mongoDB数据库中,有一个"消息"集合,它具有一个字段"顺序",该订单值 msg1.order=1, msg2.order=2, msg3.order=3, msg4.order=4, msg5.order=5, ... 对于每个消息,表示消息的子收集的有序序列. 虽然可以使用JQuery.Sortable通过网页重新分组这些消息.例如,如果我将3号位置的消息移至1号,则我应该将"订单"值更改为 msg1.order=2, msg2.order=3, msg3.order=1, msg4.order=4, msg5.order=5, ... .是否有任何MongoDB修饰符或其他进行此类更新的手段,以便我可以一步或以安全的方式进行此类更新? 3个示例文档: { "author_id": "a", "class": "principle", "content_id": null, "host_id": null, "modified_dat
4 2023-10-25
编程技术问答社区
为什么我使用@交易注释时,数据没有被保存?
同事,您能帮我@Transactional注释吗?我的目的是将数据库交易管理传递到Spring,在当前情况下,将数据保存在DB中. 我在dao类中有两种方法: @Component public class OdValuesDAO { static final Logger LOG = Logger.getLogger(OdValuesDAO.class.getName()); @Autowired // @PersistenceContext(unitName = "PersistenceUnit") @Qualifier("emR") private EntityManager em; public void addOdValue (OdValuesEntity odValuesEntity) { LOG.info(odValuesEnti
2 2023-10-25
编程技术问答社区
春季靴优雅地关闭中途
我正在开发执行敏感付款处理的弹簧启动服务,并希望确保在不中断这些交易的情况下完成对应用程序的任何关闭.好奇如何在Spring-boot中最好地对此进行处理. 我阅读了有关将关闭挂钩添加到Spring -boot中的信息,我当时认为也许在课堂上使用A CountDownLatch来检查线程是否已完成处理 - 类似的内容: @Service public class PaymentService { private CountDownLatch countDownLatch; private void resetLatch() { this.countDownLatch = new CountDownLatch(1); } public void processPayment() { this.resetLatch(); // do multi-step processing
8 2023-10-25
编程技术问答社区
多种SQL复制类型
我们目前有两个使用合并复制的SQL数据库.我们想从一个数据库中的一个数据库中设置一个单独的交易复制.这可能吗?如果是这样,我们需要与分销商更改任何内容? 谢谢! 解决方案 是的,这是可能的.分销商无需改变. 但是,如果您有合并节点从交易复制拓扑中接收数据,则需要确保属性 @publy_in_in_tran_pub 将您的合并文章设置为 true 确保合并触发适当发射.除非第三个数据库是合并发布者/订户, 听起来这听起来不适用于您的情况.
8 2023-10-25
编程技术问答社区
spring和@transactional,这是否正常?
我写了这个简单的示例: //file TestController.java public interface TestController { public List findAll(); } //file TestControllerImp.java @Controller public class TestControllerImp implements TestController{ @Autowired private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory=sessionFactory; } public List findAll() { return sessionFa
2 2023-10-25
编程技术问答社区
Grails-@Transactional, 连接是只读的
我使用静态脚手架为我的Test域类创建Crud方法.使用创建TestController时,我没有任何问题保存新的Test对象.但是,我想扩展功能并实现相应的TestService类.这样做,我现在总是在保存Test对象时遇到错误:Connection is read-only. Queries leading to data modification are not allowed 在这里开始发生故障.遵循TestService的代码.如果我正确理解了它,则无需使用两个save和delete方法使用@Transactional的注释,因为它们将直接从类中继承该功能. package test.services import grails.transaction.Transactional import test.Test @Transactional class TestService { @Transactional(readOnly = true)
6 2023-10-25
编程技术问答社区
如何将模拟注入到标记为"@Transactional "的Spring类中?
我正在使用弹簧3.1.1.Release和Junit 4.8.1.在我的测试课上,我想嘲笑一个私人领域,并发现了"反射testutils"的美... @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({ "classpath:test-context.xml" }) public class OrderServiceTest extends AbstractTransactionalJUnit4SpringContextTests … @Autowired private OrderService m_orderSvc; @Test public void testGetPDOrders() throws QuickBaseException, Exception { … ReflectionTestUtils.setF
10 2023-10-25
编程技术问答社区