19 | 异常矩阵和提交后行集合 | 2026-10-04 变量列:入口(REST 注入的 CDI bean / 直构 / 内部自调 / 拟议 Enterprise Bean)、异常(未捕获运行时 / 捕获后返回 / 受检异常 / rollback-only)、事务传播属性、响应状态、申请/明细/订单最终行、容器日志、测试租户。 已有且有历史证据:examples/javaee-enterprise/scenarios/18-lab-rollback.sh 经受管 CDI 方法抛未捕获 IllegalStateException;20261004T063400Z-pg16-jta-rollback/RUN.md 保存 HTTP 500 与最终申请 0。运行参照 18 章实验卡。不要从该用例推广到受检异常或 Enterprise Bean。 拟议负向实验 NOT_RUN:隔离副本增加一个受检异常入口;同样在事务里写测试申请,一组使用默认 @Transactional,一组显式 rollbackOn;另加抛异常前后标记 rollback-only、直构与内部自调对照。每次用独立连接检查申请、明细、订单的行集合;保存异常调用栈及拦截事件。故意违反数据库约束后直接在新事务核对,不能在 PostgreSQL aborted 事务继续查询。未部署这些探针前不可尝试调用不存在的 URL。 证据记录字段:源文件/WAR SHA=待记录;服务器/DB=待记录;正常命令和退出码=待记录;故障命令和退出码=待记录;调用轨迹=待记录;各租户 SQL 终态=待记录。