首页 文章 精选 留言 我的

精选列表

搜索[文献引用],共10001篇文章
优秀的个人博客,低调大师

在Dubbo拦截器中拿到Invoker的引用对象

本文基于Dubbo 2.7.8。 当我们自定义Dubbo拦截器的时,有时候想要拿到代理对象(这里的代理对象是指Spring容器中的实际对象,可能已经被Cglib或Jdk代理),这里提供一种简单可行的方案。目前2.7.5及以上版本可用 先来看一下Dubbo服务导出的调用链: //导出所有服务 private void exportServices() { configManager.getServices().forEach(sc -> { // TODO, compatible with ServiceConfig.export() ServiceConfig serviceConfig = (ServiceConfig) sc; serviceConfig.setBootstrap(this); if (exportAsync) { ExecutorService executor = executorRepository.getServiceExporterExecutor(); Future<?> future = executor.submit(() -> { sc.export(); exportedServices.add(sc); }); asyncExportingFutures.add(future); } else { sc.export(); exportedServices.add(sc); } }); } //单个服务导出 public synchronized void export() //是否需要导出 if (!shouldExport()) { return; } checkAndUpdateSubConfigs(); doExport(); exported(); } protected synchronized void doExport() { if (exported) { return; } exported = true; if (StringUtils.isEmpty(path)) { path = interfaceName; } doExportUrls(); } private void doExportUrls() { //这里是重点 ServiceRepository repository = ApplicationModel.getServiceRepository(); ServiceDescriptor serviceDescriptor = repository.registerService(getInterfaceClass()); repository.registerProvider( getUniqueServiceName(), ref, serviceDescriptor, this, serviceMetadata ); } //注册提供者 public void registerProvider(String serviceKey, Object serviceInstance, ServiceDescriptor serviceModel, ServiceConfigBase<?> serviceConfig, ServiceMetadata serviceMetadata) { ProviderModel providerModel = new ProviderModel(serviceKey, serviceInstance, serviceModel, serviceConfig, serviceMetadata); //key为serviceKey providers.putIfAbsent(serviceKey, providerModel); providersWithoutGroup.putIfAbsent(keyWithoutGroup(serviceKey), providerModel); } 可以看到在Dubbo服务导出的时候会向ServiceRepository注册服务信息,而我们在Filter中可以通过Invocation的getTargetServiceUniqueName拿到serviceKey。 结果显而易见: 直接通过以下方式就可以拿到代理对象: ProviderModel providerModel = ApplicationModel.getServiceRepository().lookupExportedService(invocation.getTargetServiceUniqueName()); System.out.println(providerModel.getServiceInstance().getClass()); 怎么样是不是很简单,如果有其它需求从ServiceRepository中也可以很方便的拿到其他一些类和方法相关的信息。

优秀的个人博客,低调大师

文献分享(xenium)--组织驻留巨噬细胞转移硒转运蛋白保护胰腺癌免于铁死亡

胰腺导管腺癌(PDAC)是一种侵袭性癌症,预后不良,其肿瘤微环境中包含肿瘤发生前就存在的组织驻留巨噬细胞(RTMs)和肿瘤发展过程中招募的单核细胞来源巨噬细胞(MDMs),但它们在支持肿瘤进展中的不同作用仍不清楚。结合单细胞profiling、空间分析、谱系追踪、RTM耗竭和硒示踪,研究发现RTMs优先定位于肿瘤边界,在那里它们促进上皮-间充质转化(EMT)、肿瘤生长和转移。机制上,RTMs通过LRP8依赖性摄取将硒转运蛋白Selenop转移给EMT肿瘤细胞,增加肿瘤细胞硒可用性,限制脂质过氧化,并保护EMT肿瘤细胞免于铁死亡。RTM特异性Selenop缺失或肿瘤细胞Lrp8破坏减少了EMT和肿瘤进展,而铁死亡抑制逆转了RTM耗竭的效果。人类PDAC显示边界富集的SEPP1⁺RTMs靠近EMT肿瘤细胞,提示一种保守的巨噬细胞来源的硒生态位支持侵袭性肿瘤状态,并突出靶向RTMs或其分泌因子在PDAC中的潜力。

优秀的个人博客,低调大师

文献分享(xenium)--产后心脏的空间引导体内单细胞功能基因组学

数据构建:研究团队整合单核RNA测序(snRNA-seq)profiling与单细胞原位空间转录组成像,建立了产后心脏的高分辨率时空图谱。在产后第0天(P0)、P7、P14和P21收集全心脏,以捕获从增生期到成熟肥大期的发育转变。为了改善多核CMs的分割,研究团队将多模态细胞分割染色纳入Xenium工作流程。与基于核的分割相比,多模态分割显著提高了产后心脏中无核和多核细胞识别的准确性。

优秀的个人博客,低调大师

文献分享--肿瘤免疫微环境的重塑可预测免疫检查点抑制剂治疗反应

免疫检查点抑制剂(ICIs)已成为多种癌症的标准疗法,但仍有超过半数患者无应答或产生耐药。既往研究多聚焦于治疗前的“冷/热”肿瘤免疫表型,试图通过基线特征预测疗效,但效果有限。作者指出,ICI并非被动检测免疫状态,而是主动扰动微环境的干预措施,能重新激活淋巴细胞、改变髓系细胞群体。因此,应将TIME视为动态系统,而非静态属性。关键问题应转变为:治疗开始后,免疫生态系统如何演变?这种演变轨迹是否能预测疗效? 验证此假设需要治疗前后连续活检的纵向样本,但此前研究样本量小(10-20例),且跨研究整合困难。本研究通过构建大规模、跨癌种的纵向单细胞RNA测序(scRNA-seq)图谱,系统性解析TIME在ICI治疗过程中的重塑规律,并探索其与临床结局的关联。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册