首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Hyperledge composer中从另一个事务调用事务的方法

在Hyperledger Composer中,可以通过使用系统内置的$class$registry来从一个事务调用另一个事务的方法。

具体步骤如下:

  1. 首先,在你的事务处理函数中,使用getAssetRegistry()方法获取到要调用的事务所属的资产注册表。例如,如果要调用的事务是TransferAsset,则可以使用以下代码获取到TransferAsset的资产注册表:
代码语言:txt
复制
const transferAssetRegistry = await getAssetRegistry('org.example.TransferAsset');
  1. 接下来,使用get()方法从资产注册表中获取到要调用的事务的资产实例。例如,如果要调用的事务是TransferAsset,并且你需要获取到TransferAsset的ID为transferAssetId的资产实例,可以使用以下代码:
代码语言:txt
复制
const transferAsset = await transferAssetRegistry.get(transferAssetId);
  1. 然后,使用submitTransaction()方法提交要调用的事务。例如,如果要调用的事务是UpdateAssetStatus,可以使用以下代码提交该事务:
代码语言:txt
复制
await submitTransaction('org.example.UpdateAssetStatus', {
  asset: transferAsset
});

在上述代码中,org.example.UpdateAssetStatus是要调用的事务的名称,{ asset: transferAsset }是传递给该事务的参数。

这样,你就可以在Hyperledger Composer中从一个事务调用另一个事务的方法了。

关于Hyperledger Composer的更多信息,你可以参考腾讯云的区块链服务产品——腾讯云区块链服务(Tencent Blockchain as a Service,TBaaS)。TBaaS是一种基于Hyperledger Fabric的区块链服务,提供了一站式的区块链解决方案,包括链上链下一体化的开发、部署、管理和应用服务。你可以通过以下链接了解更多信息: 腾讯云区块链服务(TBaaS)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring声明式与编程式事务区别,事务与非事务方法相互调用导致事务不生效问题

事务传播案例: 事务A类a()方法调用B类b()方法传播案例 A.a() B.b()事务配置 a()没有事务结果 a()有事务结果 REQUIRED b()创建自己事务; b()接受...: 实际上我们调用 saveA 跟 saveB 时调用是目标类方法,这种清空下,事务当然会失效。...3.2、事务方法A调用另外一个事务方法B,被调用方法B事务没起作用 @Service public class DmzService { @Transactional public void...saveB 方法时,是直接调用目标类 saveB 方法 saveB 方法前后并不会有事务开启或者提交、回滚等操作,实际流程是下面这样 由于 saveB 方法实际上是由 dmzService...,并且事务传播级别为 required,所以当我们 testRollbackOnly 调用 IndexService a 方法时这两个方法应当是共用一个事务

1.3K41
  • 被标记为事务方法互相调用坑(上)

    相信大家一定用过Spring注解型事务,配合上Spring Boot,只需要在方法上打一个@Transactional 就可以完成,真香。...但是如果大家对其中机制一知半解的话,可能一不小心就会掉进坑,然后久久无法爬出来。 下面我就分享下 被标记为事务方法互相调用坑。 如果想学习Java工程化、高性能及分布式、深入浅出。...图片可能有点模糊,大家可以新标签页打开这图片,可以看到这里分明只开了一个事务,而且事务传播行为是PROPAGATION_REQUIRED,这是事务默认传播行为,也就是这里只开启了insertCodeBear...入口里面调用了实现类代理对象,调用了add方法,add方法里面又调用了delete方法。...通过两个例子,可以得到一个结论:只有调用代理对象方法才能被拦截,所以 方法A中直接调用方法B,方法B是不会被拦截

    69710

    被标记为事务方法互相调用坑(下)

    上一节,主要分析了 被标记为事务方法互相调用事务失效原因,思考比较多,这一节主要说说解决方案,思考会少一些。...解决方案核心: 通过代理对象去调用方法 1.把方法放到不同类: 如果想学习Java工程化、高性能及分布式、深入浅出。...可以看到是开了两个事务去执行。 这种解决方案最简单,不需要了解其他东西,但是这种方案需要修改代码结构,本来两个方法都是属于同一个类,现在需要强行把它们拆开。 2....此方法不适用于prototype 在这里,我用了一个@PostConstruct注解,初始化时候,会调用被@PostConstruct标记方法(注意,仅仅是初始化时候,才会被调用。...以后都不会被调用了,大家可以打个断点试一下),这里这么做目的就是为了提升一下效率,不用每次都getBean。所以如果这个类是prototype,就不适用这个方法了。

    58520

    关于加@Transactional注解方法之间调用事务是否生效问题

    不同类之间方法调用,如类A方法a()调用类B方法b(),这种情况事务是正常起作用。只要方法a()或b()配置了事务,运行中就会开启事务,产生代理。...同一个类内方法调用:重点来了,同一个类内方法调用就没那么简单了,假定类A方法a()调用方法b() 同一类内方法调用,无论被调用b()方法是否配置了事务,此事务在被调用时都将不生效。...insertUser()方法没有配置事务,selectUser()配置了事务insertUser()调用selectUser()时,查看日志如下: [DEBUG][2018-02-22 11:00...另一个例子:方法a()配置了事务,此时b()事务虽然不生效,但a()事务生效,对于b()抛出异常也会回滚。...有几篇文章探究了事务这个特性原因,spring声明式事务 同一类内方法调用事务失效 个人理解,当类外调用方法a()时,spring容器获取到serviceImpl对象实际是包装好proxy对象

    6.9K40

    JSP页面调用另一个JSP页面变量

    https://blog.csdn.net/huyuyang6688/article/details/16896447          jsp学习,经常需要在一个jsp页面调用另一个jsp...jsp页面之间变量调用有多种方法:         1、通过jsp内置对象—request对象获取参数:          (1)通过超链接传参:                  例:把a.jsp...i值传到b.jsp:                       a.jsp页面核心代码为:                            <a href="b.jsp?...<em>在</em>a.jsp<em>中</em><em>的</em>核心代码为:                              <%!...当然肯定还有更好更多<em>的</em><em>方法</em>,期待高手赐教。

    7.7K52

    SpringBoot 内部方法调用事务不起作用原因及解决办法

    在做业务开发时,遇到了一个事务不起作用问题。大概流程是这样方法内部定时任务调用了一个带事务方法,失败后事务没有回滚。查阅资料后,问题得到解决,记录下来分享给大家。  ...内部方式使用this调用方式时,使用是实例调用,并没有通过代理类调用方法,所以会导致事务失效。  ...方法一 引入自身bean  类内部通过@Autowired将本身bean引入,然后通过调用自身bean,从而实现使用AOP代理操作。  ...获取当前类代理类  通过AopContext获取当前类代理类,直接通过代理类调用方法  引导类上添加@EnableAspectJAutoProxy(exposeProxy=true)注解  修改invokeInsertUser...(User user) {  ((UserService) AopContext.currentProxy()).invokeInsertUser(user);  }  以上就是内部方法调用时,事务不起作用原因及解决办法

    2.2K20

    分布式事务管理XA事务一致性和可靠性以及其他问题技术方法

    分布式事务管理,为了保证XA事务一致性和可靠性,可以采用以下重要技术手段或机制:XA协议:XA协议是一种两阶段提交(Two-Phase Commit,2PC)协议,分布式环境中用于保证事务一致性...分布式事务日志:分布式事务日志用于记录分布式系统各个参与者事务操作,以保证故障恢复时能够恢复事务一致性。...参与者执行事务前会将事务操作记录到本地日志,并在事务提交前将日志发送给协调者,以确保所有参与者提交事务之前都持久化了事务操作。...分布式锁和分布式一致性算法:为了确保分布式环境多个节点并发操作正确性,可以使用分布式锁和分布式一致性算法(如Paxos、Raft等)来保证数据一致性和可靠性。...容错性问题:XA分布式事务,如果其中一个参与者节点发生故障或崩溃,可能会导致整个事务中止。这种情况下,需要进行相应容错处理,进行事务回滚和恢复,以保持系统一致性。

    32621

    深入了解 Spring 事务核心注解和类入手)

    通过源码我们看到,该注解可以出现在接口上,类上和方法上。分别表明: 接口上:当前接口所有实现类重写接口方法事务支持。 类上:当前类中所有方法事务支持。 方法上:当前方法事务支持。...用于配置一个事务事件监听器。使我们事务提交和回滚前后可以做一些额外功能。 例如:对事务执行监控,执行同步做一些操作等等。...beanFactory) { // 方法其他代码略 // 初始化剩余单例bean对象.调用是DefaultListableBeanFactory类preInstantiateSingletons...3.4.5 processBean 方法调用了创建事件监听器方法 createApplicationListener。该方法是 EventListenerFactory 接口中声明方法。...return con; } /*** 数据源获取一个连接方法,此时没有和线程绑定 */ private static Connection fetchConnection

    1.2K30

    html引入调用另一个公用html模板文件方法

    最近写网页时候,发现页面都是用同一个header头部、aside侧边栏和footer页脚,那么为什么不把这些写成一个模板文件,页面中直接引入呢?这样还方便后期修改维护。 ?...查了一下资料,发现html引入调用另一个html方法有很多种,我都尝试了一下,就把他们都列出来吧: 其中推荐第一种和第六种,因为代码太长就写在最后了。...1、将下方js文件代码保存成 include.js 文件引入; 2、页面通过 载入模板文件。...function() {     new Include39485748323().replaceIncludeElements(); } })(window, document) 参考: 1、html引入调用另一个...html方法 2、html静态页面引入公共html页面 声明:本文由w3h5原创,转载请注明出处:《html引入调用另一个公用html模板文件方法》 https://www.w3h5.com/post

    8.3K00

    Python函数无法调用另一个函数解决方法

    对于正常我们在编程,尤其python,各函数之间正常来说都是可以相互调用,如果发现函数无法调用另一个函数情况,正常来说会有多种方面的原因。下面的问题我们可以一起看看。...1、问题背景 Python ,有时会遇到函数无法调用另一个函数问题。这通常是由于函数内部 return 语句导致。return 语句作用是终止函数执行并返回一个值给调用者。...在下面的例子,right_room() 函数中将 opening() 函数调用移动到了 return 语句之前,这样 opening() 函数就可以被正确调用了。...除了移动函数调用位置,还可以通过使用异常处理来解决这个问题。在下面的例子,right_room() 函数使用了 try 语句来捕获 opening() 函数可能抛出异常。...上面就是今天全部内容了,如果您遇到了函数无法调用另一个函数具体问题,可以提供更多细节或代码示例,以便我可以更具体地帮助您解决问题。

    23910

    Hmily-TCC事务恢复源码关键逻辑和方法

    Hmily-TCC事务恢复源码,有以下关键逻辑和实现方法:关键逻辑:事务恢复管理器(TransactionRecoveryManager)事务恢复管理器负责协调和管理事务恢复过程。...它主要包含两个核心方法:register()和cancel().register()方法用于将待恢复事务注册到恢复任务队列,等待执行。cancel()方法用于取消已注册但尚未执行恢复任务。...它实现了QuartzJob接口,并在execute()方法执行恢复逻辑。根据事务日志状态,恢复任务会分别执行补偿、提交或回滚操作。...关键实现方法事务补偿事务恢复过程,当检测到待恢复事务状态为“待补偿”时,会执行事务补偿逻辑。事务补偿关键思想是反向执行已执行分支事务逆操作,以达到事务一致性。...以下是对恢复任务解析:恢复任务(RecoverScheduledJob)是一个实现了QuartzJob接口类,用于执行恢复操作。execute()方法,具体恢复逻辑会被执行。

    17821

    Python中将函数作为另一个函数参数传入并调用方法

    Python,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用在旧版本,可以使用apply(function, *args, **kwargs)进行调用,但是新版本已经移除,以function...return argsif __name__ == '__main__': func_a(func_b, 1, 2, 3)Output:----------(1, 2, 3)----------代码...,将函数func_b作为函数func_a参数传入,将函数func_b参数以元组args传入,并在调用func_b时,作为func_b参数。...,可以正常运行,但这明显不符合设计初衷:func_a执行func(**kwargs)时,很可能并不知道func到底需要什么参数。...换句话说,如果已经提前知道需要调用什么函数,那完全不必要把函数作为参数传入另一个函数并调用,直接调用函数即可。

    10.6K20

    深入了解 Spring boot事务管理机制:掌握 Spring 事务几种传播行为、隔离级别和回滚机制,理解 AOP 事务管理应用

    介绍 1.1 Spring 事务管理重要性 应用程序事务管理是确保数据一致性和完整性重要组成部分。...一致性(Consistency):事务执行过程,数据库从一个一致状态转变为另一个一致状态,不会破坏数据完整性。...Spring 提供了 @Transactional 注解,用于方法级别上定义事务属性。你可以需要进行事务管理方法上添加 @Transactional 注解,并指定事务属性。...REQUIRES_NEW 传播行为 总是创建一个新事务,并挂起当前事务(如果存在)。 事务执行方法,不受外部事务影响。 3....", e); } } 我们使用@Transactional注解表示该方法需要在事务执行。方法内部,我们按照以下步骤进行转账操作: 查询转出账户余额。 查询转入账户余额。

    1.8K20

    python接口测试:一个用例文件调用另一个用例文件定义方法

    简单说明 进行接口测试时,经常会遇到不同接口间传递参数情况,即一个接口某个参数需要取另一个接口返回值; 平常写脚本过程,我经常会在同一个py文件,把相关接口调用方法都写好,这样同一个文件能够很方便进行调用...; 后来随着功能增多,写其他py文件时,有时也会先调用某个相同接口来获取参数; 如果在每个py文件中都写一遍调用某个接口方法,会显得很啰嗦,也不好维护,并且以后万一提供数据那个接口发生变化...,需要调整很多地方; 所以,当我们一个用例py文件写好某个接口调用方法,后续如果在其他py文件也要用到这个接口返回值,则直接引用先前py文件定义好接口调用方法即可。...:CreateActivity, 继承自unittest.TestCase 然后setUp方法中进行了一些必要初始化工作 最后创建了一个名为push_file_download方法,它作用就是调某个接口...id,这个id就是由test_A.py文件CreateActivity类下 push_file_download 方法生成; 所以这里要先调用push_file_download方法,对应第

    2.9K40

    Shell 脚本调用另一个 Shell 脚本三种方式

    调用脚本与父脚本同一个 Shell 内执行。但是使用 exec 调用一个新脚本以后, 父脚本 exec 行之后内容就不会再执行了。...所以被调用脚本声明变量和环境变量, 都可以主脚本中进行获取和使用。 其实从命名上可以感知到其中细微区别,下面通过两个脚本来体会三种调用方式不同: 第一个脚本,我们命名为 1.sh: #!...exec exec 方式运行结果是,2.sh 执行完成后,不再回到 1.sh。运行顺序为 1-2。pid值看,两者是同一进程 PID=82287 运行。 source ?...exec 同一个 Shell 内执行,但是父脚本 exec 行之后内容就不会再执行了 source 同一个 Shell 执行,在被调用脚本声明变量和环境变量, 都可以主脚本中进行获取和使用...参考: shell脚本调用另一个脚本三种不同方法(fork, exec, source)

    4.3K20
    领券