BDC: CALL TRANSACTION USING... 参数祥解

本文详细介绍ABAP中CALL TRANSACTION命令的使用方法,包括通过bdc_tab执行多个事务码的流程,以及MODE、UPDATE等参数的作用。适用于希望了解ABAP批量处理机制的开发者。
 CALL TRANSACTION 'tcode' USING bdc_tab ... 是 ABAP 里提供的一个方便的执行批量输入的语句,使用它可以通过程序代码完成多个事务码的连续执行。

bdc_tab 这个批输入任务表的填写方式,网上有很多例子了,大家用到的时候可以搜索。用事务码 SHDB 可以生成填写这个表的内容,按照 ABAP 字典结构类型 BDCDATA 的定义对应填写就可以了。

下面详细介绍一下这种调用方式中的执行参数:

... { {[MODE mode] [UPDATE upd]}
    | [OPTIONS FROM opt] }
    [MESSAGES INTO itab] ... .

 

MODE 确定批输入的执行模式,有下面几个可选值:

执行模式   作用
"A" 显示所有输入屏幕,如果在 bdc_tab 中包含该屏幕的功能码,则会出现小窗口显示这个功能码。它也是默认值,如果指定不是下面的值,则都认为是 A。
"E" 只有在出现错误时才显示屏幕,用户可以修正数据,修正后程序可以继续处理。
"N" 不显示屏幕的静默模式。如果到达被调用事务的断点,则系统处理终止,并设置一些系统字段。sy-subrc 为 1001,sy-msgty 为 "S"、sy-msgid 为 "00"、sy-msgno 为 "344"、sy-msgv1 为 "SAPMSSY3"、sy-msgv2 为 "0131"。
"P" 不显示屏幕的调试模式。如果到达被调用事务的断点,则系统自动转到 ABAP 调试器,这种方式主要用于调试过程。

 

UPDATE 确定批输入的更新模式,有下面几个可选值:

更新模式 作用
"A" 异步更新。被调用程序的更新按照没有指定 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由另一个专门的更新进程执行,主程序一旦提交数据就继续执行,而不管提交的更新是否执行完成。这种方式比较适合于用一个事务码大量更新指定数据,比如维护主数据等。
"S" 同步更新。被调用程序的更新按照指定了 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由专门的更新进程执行,但是主程序会等到数据提交完成,返回结果信息后才继续执行。这种方式比较适合于数据一致性要求比较高,多个不同事务码的连续处理。
"L" 本地更新。被调用程序的更新按照执行 SET UPDATE TASK LOCAL 语句的方式执行。也就是说,数据更新在主程序所在的进程中完成,主程序必定等到被调用事务完成才继续执行。

 

OPTIONS FROM opt 则用一个参考 ABAP 字典中结构类型 CTU_PARAMS 的结构数据对象来传递参数,CTU_PARAMS 结构包含了 MODE 和 UPDATE 两个参数,并且还包含其它参数,结构如下:

DISMODE:显示模式,其值对应于前面介绍的 MODE 参数;
UPDMODE:更新模式,其值对应于前面介绍的 UPDATE 参数;
CATTMODE:CATT 模式,有三个值:" "、非 CATT 模式;"N"、CATT 模式但不对每个屏幕进行控制;"A"、CATT 模式并对每个屏幕进行控制;
DEFSIZE:是否使用屏幕的定义大小,有两个值:" "、不使用屏幕定义大小,即显示给用户的屏幕跟普通运行时一样,根据用户窗口大小而自动扩展到全屏;"X"、使用屏幕定义大小,即只用源程序中固定的屏幕大小,无论用户窗口如何;
RACOMMIT:英文原文(CALL TRANSACTION USING... is not completed by COMMIT),德文原文(COMMIT WORK ist kein Ende bei CALL TRANSACTION USING...),没看明白;
NOBINPT:调用事务码时,系统字段 sy-binpt 的值,有两个值:" "、在被调用事务执行时,系统字段 sy-binpt 的值为 "X";:"X"、在被调用事务执行时,系统字段 sy-binpt 的值为 " ";
NOBIEND:调用事务码完成后,系统字段 sy-binpt 的值,有两个值:" "、在被调用事务执行后,系统字段 sy-binpt 的值为 "X";:"X"、在被调用事务执行后,系统字段 sy-binpt 的值为 " "。

最后一个 MESSAGE INTO itab 是把执行过程中的消息都输入到内表 itab 中,itab 的结构必须是 ABAP 字典中结构 BDCMSGCOLL。

 

 

 

 

 

 

java.lang.RuntimeException: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'type' in 'class com.hvlink.entity.po.order.TbOrderMainPO' at com.hvlink.service.impl.SyncPlanProtocolServiceImpl.syncPurchaseOrderData(SyncPlanProtocolServiceImpl.java:189) at com.hvlink.service.impl.SyncPlanProtocolServiceImpl$$FastClassBySpringCGLIB$$fba6dd9d.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707) at com.hvlink.service.impl.SyncPlanProtocolServiceImpl$$EnhancerBySpringCGLIB$$59c70d01.syncPurchaseOrderData(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) Caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'type' in 'class com.hvlink.entity.po.order.TbOrderMainPO' at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) at com.sun.proxy.$Proxy114.insert(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at com.sun.proxy.$Proxy115.batchInsert(Unknown Source) at com.hvlink.service.impl.SyncPlanProtocolServiceImpl.syncPurchaseOrderData(SyncPlanProtocolServiceImpl.java:166) ... 25 common frames omitted Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'type' in 'class com.hvlink.entity.po.order.TbOrderMainPO' at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:387) at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:164) at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:162) at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:49) at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122) at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:119) at org.apache.ibatis.mapping.BoundSql.getAdditionalParameter(BoundSql.java:74) at com.baomidou.mybatisplus.core.MybatisParameterHandler.setParameters(MybatisParameterHandler.java:221) at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:94) at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:64) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) at com.sun.proxy.$Proxy208.parameterize(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:88) at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49) at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) at com.sun.proxy.$Proxy207.update(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194) at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) ... 32 common frames omitted 2025-09-19 13:15:04.621 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.625 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.634 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.635 [RMI TCP Connection(6)-2.0.0.1] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-2} inited 2025-09-19 13:15:04.761 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.773 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.773 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.782 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.782 [RMI TCP Connection(6)-2.0.0.1] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-19 13:15:04.813 [boundedElastic-1] DEBUG io.lettuce.core.RedisClient - Trying to get a Redis connection for: redis://localhost 2025-09-19 13:15:04.814 [boundedElastic-1] DEBUG io.lettuce.core.RedisClient - Resolved SocketAddress localhost:6379 using redis://localhost 2025-09-19 13:15:04.814 [boundedElastic-1] DEBUG io.lettuce.core.AbstractRedisClient - Connecting to Redis at localhost:6379 2025-09-19 13:15:04.816 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, [id: 0xae0b2931] (inactive), epid=0x2, chid=0x2] channelRegistered() 2025-09-19 13:15:04.818 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] write(ctx, AsyncCommand [type=HELLO, output=GenericMapOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise) 2025-09-19 13:15:04.818 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandEncoder - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379] writing command AsyncCommand [type=HELLO, output=GenericMapOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command] 2025-09-19 13:15:04.818 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Received: 30 bytes, 1 commands in the stack 2025-09-19 13:15:04.818 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Stack contains: 1 commands 2025-09-19 13:15:04.818 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.RedisStateMachine - Decode done, empty stack: true 2025-09-19 13:15:04.820 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Completing command LatencyMeteredCommand [type=HELLO, output=GenericMapOutput [output=null, error='ERR unknown command 'HELLO''], commandType=io.lettuce.core.protocol.AsyncCommand] 2025-09-19 13:15:04.820 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] write(ctx, AsyncCommand [type=PING, output=StatusOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise) 2025-09-19 13:15:04.821 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandEncoder - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379] writing command AsyncCommand [type=PING, output=StatusOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command] 2025-09-19 13:15:04.821 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Received: 7 bytes, 1 commands in the stack 2025-09-19 13:15:04.821 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Stack contains: 1 commands 2025-09-19 13:15:04.821 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.RedisStateMachine - Decode done, empty stack: true 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Completing command LatencyMeteredCommand [type=PING, output=StatusOutput [output=PONG, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand] 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] channelActive() 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.DefaultEndpoint - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2] activateEndpointAndExecuteBufferedCommands 0 command(s) buffered 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.DefaultEndpoint - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2] activating endpoint 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.DefaultEndpoint - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2] flushCommands() 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.DefaultEndpoint - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2] flushCommands() Flushing 0 commands 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.ConnectionWatchdog - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, last known addr=localhost/127.0.0.1:6379] channelActive() 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] channelActive() done 2025-09-19 13:15:04.823 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.AbstractRedisClient - Connecting to Redis at localhost:6379: Success 2025-09-19 13:15:04.857 [boundedElastic-1] DEBUG io.lettuce.core.RedisChannelHandler - dispatching command SubscriptionCommand [type=INFO, output=StatusOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command] 2025-09-19 13:15:04.857 [boundedElastic-1] DEBUG io.lettuce.core.protocol.DefaultEndpoint - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2] write() writeAndFlush command SubscriptionCommand [type=INFO, output=StatusOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command] 2025-09-19 13:15:04.857 [boundedElastic-1] DEBUG io.lettuce.core.protocol.DefaultEndpoint - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2] write() done 2025-09-19 13:15:04.857 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] write(ctx, SubscriptionCommand [type=INFO, output=StatusOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise) 2025-09-19 13:15:04.858 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandEncoder - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379] writing command SubscriptionCommand [type=INFO, output=StatusOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command] 2025-09-19 13:15:04.858 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Received: 365 bytes, 1 commands in the stack 2025-09-19 13:15:04.858 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Stack contains: 1 commands 2025-09-19 13:15:04.858 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.RedisStateMachine - Decode done, empty stack: true 2025-09-19 13:15:04.861 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - [channel=0xb98c5b8f, /127.0.0.1:23138 -> localhost/127.0.0.1:6379, epid=0x2, chid=0x2] Completing command LatencyMeteredCommand [type=INFO, output=StatusOutput [output=# Server redis_version:3.0.504 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:a4f7a6e86f2d60b3 redis_mode:standalone os:Windows arch_bits:64 multiplexing_api:WinSock_IOCP process_id:904 run_id:a7d2e2bdc458123d1f1f741d8bf2bf35dcd84801 tcp_port:6379 uptime_in_seconds:187508 uptime_in_days:2 hz:10 lru_clock:13428440 config_file: , error='null'], commandType=io.lettuce.core.RedisPublisher$SubscriptionCommand]
最新发布
09-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值