使用springboot+JTA+Atomikos进行多数据源事务时,不影响事务回滚,但项目启动报错如下:

2018-11-17 15:20:56.783 [RMI TCP Connection(4)-127.0.0.1] INFO  com.atomikos.datasource.xa.XATransactionalResource - oracleDataSource: refreshed XAResource
2018-11-17 15:20:56.795 [RMI TCP Connection(4)-127.0.0.1] WARN  com.atomikos.datasource.xa.XATransactionalResource - Error in recovery
javax.transaction.xa.XAException: null
  at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:526)
  at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromXAResource(XATransactionalResource.java:554)
  at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:512)
  at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:615)
  at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:583)
  at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558)
  at com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:435)
  at com.atomikos.icatch.system.Configuration.addResource(Configuration.java:386)
  at com.atomikos.jdbc.AtomikosDataSourceBean.doInit(AtomikosDataSourceBean.java:201)
  at com.atomikos.jdbc.AbstractDataSourceBean.init(AbstractDataSourceBean.java:296)
  at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:339)
  at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:394)
  at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
  at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
  at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:342)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.getProduct(DataSourceHealthIndicator.java:123)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.doDataSourceHealthCheck(DataSourceHealthIndicator.java:105)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.doHealthCheck(DataSourceHealthIndicator.java:100)
  at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:43)
  at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
  at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
  at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:85)
  at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:35)
  at org.springframework.boot.actuate.endpoint.jmx.DataEndpointMBean.getData(DataEndpointMBean.java:46)
  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 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
  at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
  at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1252)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
  at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1246)
  at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1085)
  at org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean.java:90)
  at javax.management.modelmbean.RequiredModelMBean.getAttribute(RequiredModelMBean.java:1562)
  at org.springframework.jmx.export.SpringModelMBean.getAttribute(SpringModelMBean.java:109)
  at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
  at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
  at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445)
  at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
  at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
  at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
  at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:639)
  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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
  at sun.rmi.transport.Transport$1.run(Transport.java:200)
  at sun.rmi.transport.Transport$1.run(Transport.java:197)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
  at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:748)
2018-11-17 15:20:56.800 [RMI TCP Connection(4)-127.0.0.1] WARN  com.atomikos.icatch.imp.TransactionServiceImp - ERROR IN RECOVERY
com.atomikos.datasource.ResourceException: Error in recovery
  at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromXAResource(XATransactionalResource.java:565)
  at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:512)
  at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:615)
  at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:583)
  at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558)
  at com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:435)
  at com.atomikos.icatch.system.Configuration.addResource(Configuration.java:386)
  at com.atomikos.jdbc.AtomikosDataSourceBean.doInit(AtomikosDataSourceBean.java:201)
  at com.atomikos.jdbc.AbstractDataSourceBean.init(AbstractDataSourceBean.java:296)
  at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:339)
  at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:394)
  at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
  at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
  at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:342)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.getProduct(DataSourceHealthIndicator.java:123)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.doDataSourceHealthCheck(DataSourceHealthIndicator.java:105)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.doHealthCheck(DataSourceHealthIndicator.java:100)
  at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:43)
  at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
  at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
  at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:85)
  at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:35)
  at org.springframework.boot.actuate.endpoint.jmx.DataEndpointMBean.getData(DataEndpointMBean.java:46)
  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 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
  at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
  at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1252)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
  at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1246)
  at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1085)
  at org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean.java:90)
  at javax.management.modelmbean.RequiredModelMBean.getAttribute(RequiredModelMBean.java:1562)
  at org.springframework.jmx.export.SpringModelMBean.getAttribute(SpringModelMBean.java:109)
  at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
  at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
  at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445)
  at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
  at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
  at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
  at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:639)
  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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
  at sun.rmi.transport.Transport$1.run(Transport.java:200)
  at sun.rmi.transport.Transport$1.run(Transport.java:197)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
  at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:748)
  at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:526)
  at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromXAResource(XATransactionalResource.java:554)
  at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:512)
  at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:615)
  at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:583)
  at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558)
  at com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:435)
  at com.atomikos.icatch.system.Configuration.addResource(Configuration.java:386)
  at com.atomikos.jdbc.AtomikosDataSourceBean.doInit(AtomikosDataSourceBean.java:201)
  at com.atomikos.jdbc.AbstractDataSourceBean.init(AbstractDataSourceBean.java:296)
  at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:339)
  at com.atomikos.jdbc.AbstractDataSourceBean.getConnection(AbstractDataSourceBean.java:394)
  at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
  at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
  at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:342)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.getProduct(DataSourceHealthIndicator.java:123)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.doDataSourceHealthCheck(DataSourceHealthIndicator.java:105)
  at org.springframework.boot.actuate.health.DataSourceHealthIndicator.doHealthCheck(DataSourceHealthIndicator.java:100)
  at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:43)
  at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
  at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
  at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:85)
  at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:35)
  at org.springframework.boot.actuate.endpoint.jmx.DataEndpointMBean.getData(DataEndpointMBean.java:46)
  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 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
  at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
  at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1252)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
  at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1246)
  at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1085)
  at org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean.java:90)
  at javax.management.modelmbean.RequiredModelMBean.getAttribute(RequiredModelMBean.java:1562)
  at org.springframework.jmx.export.SpringModelMBean.getAttribute(SpringModelMBean.java:109)
  at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
  at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
  at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445)
  at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
  at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
  at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
  at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:639)
  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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
  at sun.rmi.transport.Transport$1.run(Transport.java:200)
  at sun.rmi.transport.Transport$1.run(Transport.java:197)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
  at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)

解决办法:使用dba用户登录数据库进行授权

grant select on sys.dba_pending_transactions to <user_name>;
grant select on sys.pending_trans$ to <user_name>;
grant select on sys.dba_2pc_pending to <user_name>;
grant execute on sys.dbms_system to <user_name>;

WARN com.atomikos.datasource.xa.XATransactionalResource - Error in recovery相关推荐

  1. com.atomikos.datasource.ResourceException: XA resource ‘masterDB‘: resume for XID异常

    com.atomikos.datasource.ResourceException: XA resource 'masterDB': resume for XID异常 参考文章: (1)com.ato ...

  2. 分布式事务 之 04 atomikos JTA/XA全局事务

    文章目录 1. atomikos 2. 直接使用TransactionEssentials的API 2.1 新建mysql数据库表 2.2 案例代码 2.3 atomikos 源码分析 3.Trans ...

  3. hibernate 报错: ``` WARN: GenerationTarget encountered exception accepting command : Error executing

    hibernate 报错: WARN: GenerationTarget encountered exception accepting command : Error executing DDL v ...

  4. atomikos JTA/XA全局事务

    Atomikos公司官方网址为:https://www.atomikos.com/.其旗下最著名的产品就是事务管理器.产品分两个版本: TransactionEssentials:开源的免费产品 Ex ...

  5. 报错: com.atomikos.datasource.ResourceException: resume for XID

    出现这种情况, 按照步骤尝试下: 1. 先不动配置, 检查是否存在事务重叠开启的情况,就是接口开了事务,里面方法还开了事务,而且事务有冲突. 2.在你的数据连接url后面加上   &pinGl ...

  6. atomikos mysql,记一次 Atomikos 分布式事务的使用

    由于项目上的需要,我要同时往orcale数据库与sqlserver数据中插入数据,需要在一个事务之内完成这两个库的提交.参考了一下网上的各种JTA(Java Transaction API)实现之后, ...

  7. Atomikos 分布式事务的使用

    由于项目上的需要,我要同时往orcale数据库与sqlserver数据中插入数据,需要在一个事务之内完成这两个库的提交.参考了一下网上的各种JTA(Java Transaction API)实现之后, ...

  8. 深度剖析Apache Shardingsphere对分布式事务的支持

    Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JDBC.Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产 ...

  9. Atomikos 中文说明文档【转】

    Atomikos 翻译文档(英文文档来源:下载安装包中START_HERE.html)                                  ----译者:周枫 请尊重劳动成果,转载请标明 ...

最新文章

  1. Python自然语言处理实战
  2. ABAP程序设计的一点建议
  3. OpenGL Blinn-Phong Shader实例
  4. 一些学习cocos2d的网站
  5. 第97:一文读懂协方差与协方差矩阵
  6. linux设置环境变量_什么是linux环境变量
  7. diff算法_Virtual Dom和Diff算法
  8. 今日恐慌与贪婪指数为91 贪婪程度与昨日持平
  9. android开发下载文件损坏解决方法,Android中已下载的.apk文件已损坏
  10. 电脑微信双开 bat文件
  11. Visual Studio 2012下载资源 百度云
  12. 判断文章内容重复率的算法实现
  13. Fast BSS Transition原理简介
  14. thinkphp6自定义日志驱动,增加显示全部请求信息
  15. 图像处理学习——色彩空间
  16. 恺撒密码的python实现介绍
  17. 咬住爱的甜蜜 像夹心巧克力 连懒懒的猫咪 也偷偷看你 难以抗拒你的美丽 裙摆摇不停 只为了与你相遇
  18. 未能打开这台计算机的策略组对象,Windows7 组策略错误:“未能打开这台计算机上的组策略对象。您可能没有合适的权限。”...
  19. 关于ES5和ES6的简介
  20. Android备份到电脑,用 TWRP「一键 Ghost」你的 Android 手机,还能备份到电脑

热门文章

  1. 【三维目标检测】VoxelNet(三):模型详解
  2. 获取img的src 或者给img赋值
  3. 日拱一卒——160个crackme之#5
  4. vue3 reactive函数用法
  5. 纯 CSS3 实现漂亮的 input 输入框
  6. Vue 下 ESLint 的 error 解决办法
  7. iPhone手机配置fiddler代理
  8. 美国国防部(DoD)计划采用敏捷开发
  9. 北京h3c服务器维修站,h3c服务器管理地址
  10. ZXing vs ZBar: 开源条形码SDK性能PK