首页
学习
活动
专区
工具
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分布式事务,如果其中一个参与者节点发生故障或崩溃,可能会导致整个事务中止。这种情况下,需要进行相应容错处理,进行事务回滚和恢复,以保持系统一致性。

    32721

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

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

    1.2K30

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

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

    24210

    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

    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.9K20

    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

    vc++ 程序运行另一个程序方法

    vc++ 程序运行另一个程序方法有三个: WinExec(),ShellExcute()和CreateProcess() 三个SDK函数: WinExec,ShellExecute ,CreateProcess...); // 以最大化方式打Test.exe其中这里SW_SHOW,SW_SHOWMAXIMIZED都是执行程序时窗口显示方式,winuser.h定义。...bInheritHandles,:表明新进程是否调用进程继承句柄。   dwCreationFlags:定义控制优先类和进程创建附加标志。   ...这些句柄拥有参数lpProcessAttributes和lpThreadAttributes规定访问。...可以看出,通过上面的几个不同方法,都可以实现在应用程序打开其他应用程序目的,其中有些方法可能会麻烦一点,所以就需要我们根据不同目的去选择最适合自己方法去实现自己目的!

    3.9K90
    领券