You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Polarion的IFormExtension中通过Java设置自定义字段并开启写事务

Polarion中IFormExtension开启写事务并保存WorkItem的解决方案

在Polarion的IFormExtension上下文里,默认事务是只读的,直接修改WorkItem会触发你遇到的只读事务异常。要开启写事务并完成保存,按以下步骤操作:

  • 获取事务服务实例
    通过Polarion的平台服务查找器获取ITransactionService,这是处理事务的核心类:

    ITransactionService transactionService = PlatformContext.getPlatform().lookupService(ITransactionService.class);
    
  • 在写事务中执行修改与保存
    调用transactionService.runInTransaction方法,指定TransactionOption.WRITE开启写事务,在回调逻辑内完成字段修改和WorkItem保存:

    try {
        transactionService.runInTransaction(TransactionOption.WRITE, () -> {
            // 替换成你的自定义字段键和目标值
            workItem.setCustomFieldValue("custom_field_id", "updated_value");
            // 执行保存操作
            workItem.save();
            return null;
        });
    } catch (TransactionException e) {
        // 处理事务执行异常,比如日志记录或前端提示
        e.printStackTrace();
    }
    
  • 关键注意事项

    • 选对操作时机:不要在表单初始化的只读阶段执行修改,建议绑定到用户触发的动作(比如按钮点击事件)
    • 验证WorkItem实例:确认你拿到的WorkItem不是只读代理对象,部分场景下Polarion会返回只读实例,需要重新获取可写实例
    • 精简事务内逻辑:避免在事务中执行耗时操作,防止占用数据库连接资源

内容的提问来源于stack exchange,提问作者user3782554

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:48:17