Spring Application Platform - SpringSource的应用服务器发布

2008年的5.1劳动节,SpringSource发布了策划已久的开源应用服务器-SpringSource Application Platform。JavaEye的新闻频道也有报道:

[url=http://www.iteye.com/news/2113]SpringSource 宣布发布 SpringSource Application Platform Beta[/url]

总体来说,Spring的Application Platform就是一个根据Rod Johnson自己对于Java企业应用开发的理解,自行制订了一套应用服务器的标准,并且开发了这样一个专用的应用服务器出来。但是Spring的应用服务器也有自己的一些特色,让我们简单看看:

[img]http://blog.springsource.com/main/wp-content/uploads/2008/04/architecture.png[/img]

这是Spring应用服务器的结构图。他的底层是用Equinox这个OSGi框架来搭建的,我们知道Equinox为底层框架搭建的应用软件还有Eclipse,他的特点是高度的模块化,可定制化和在线的部署和卸载,以及模块的版本管理、依赖管理等功能。

Spring在Equinox的基础之上开发了DMK这样一个框架,即动态模块内核(Dynamic Module Kernel),DMK封装了Equinox的很多底层操作,向上提供了更加方便的API和管理平台。

在DMK之上,所有的功能统统以模块的方式运行在DMK之上,例如Tomcat就是以模块的方式部署在Spring应用服务器上,此外还集成了应用发布模块、系统管理模块等等。所有的模块都可以以标准的方式部署到Spring应用服务器上面,具体模块的信息,可以看看Spring应用服务器的repository目录下面的文件。

Spring应用服务器给我的感觉和JBoss应用服务器很像。JBoss也是类似这样的结构,JBoss最核心的底层是JBoss Microkernel,即微内核,这个MicroKernel提供了JMX的接口,而JBoss应用服务器的所有其他功能,都是通过标准的JMX来插入到MicroKernel之上的,例如Tomcat、Hibernate3、EJB、Transaction,DB Pool等等,都是标准的SAR模块包。

他们之间比较大的不同在于Spring应用服务器底层使用的是OSGi结构来进行模块化的管理和部署,而JBoss使用的是基于JMX的模块化管理。使用OSGi的一大好处就是可以在线的热部署和卸载,并且可以提供良好的模块版本管理。

Spring应用服务器我从我初步的接触来看,我觉得有一些比较有特色的地方:

一、轻量级和模块化

Spring应用服务器本质上就是基于Equinox的Spring DMK,这DMK本身是很小的,在DMK上面可以部署各种各样的功能模块来扩展应用服务器的功能,模块化程度非常高,内核本身是很轻量级的。

看Spring Applicaiton Platform自己的文档上面说,如果去掉Tomcat模块的话,启动应用服务器只占15MB内存(能用来干啥?),其实目前Spring应用服务器并没有提供很多功能模块上来,只是一个web模块、一个部署模块和一个管理监控模块。但是计划在2.0版本增加更多的模块、例如群集支持模块、SOA模块等等。

二、在线的热部署和卸载

得益于Equinox,可以在服务器运行期增加功能模块、部署新的Web应用,或者更新、卸载Web应用,所有的这些操作都可以Online进行。这恐怕是比传统的Java应用服务器最领先的特色了。

三、库的版本管理和依赖

jar包的版本冲突和依赖是传统Java应用很头疼的一个方面,Spring应用服务器提出了自己的一套库版本管理和库依赖管理的机制,具体的原理我还没有仔细的研究,貌似也是利用了OSGi的功能。

总结:

Spring应用服务器和Spring框架并没有什么直接的关系。你用其他框架开发的Web应用也可以部署到spring应用服务器上来,只是Spring应用服务器提供了很多可能你觉得不错的功能,吸引你使用spring的应用服务器,而不是tomcat或者jboss。但是Spring应用服务器并不符合Java EE的标准,因此可以看成是一个完全无视JCP的应用服务器,也是Rod Johnson大胆甩开标准进军应用服务器市场的尝试。
D打卡签到,蓝牙中继,广播信号模拟器 模拟WIFI或蓝牙,有如下4种运行模式 1、WIFI模式:指定SSID、BSSID名称等,模拟WIFI,供设备连接。 2、蓝牙静态模式:指定MAC地址,广播固定的RAW数据。 3、蓝牙动态主机模式:扫描周围蓝牙设备,获取指定MAC地址的蓝牙及其RAW数据,实时发送至Cloud云端,可以设定时间段,只在设定的时间段内发送。 4、蓝牙动态从机模式:指定MAC地址,从Cloud云端获取动态主机模式实时上传的该MAC地址的RAW数据,并广播RAW数据。 准备工作: 1、板子:选择ESP32C3或ESP32C3 Supermini 2、nRF Connect手机app:用于扫描获取待模拟蓝牙设备的MAC和RAW数据。 Wifi分析仪或WiFi魔盒手机APP:用于扫描获取待模拟WIFI设备的SSID和BSSID。 3、可使用官方flash_download_tool_3.9.11工具来固件烧录。 使用说明: 上述完成后,设备首次上电,RESET一侧的指示灯会常亮,可以把它理解成电源指示灯; BOOT一侧的灯会亮,该灯常亮,表示设备开启了AP模式,此时设备会发射一个WIFI信号源,名称为ESPWIFI_AP,密码为12345678,手机或电脑连接该WIFI,浏览器输入192.168.4.1,进入设备的配置页面,进行相应的配置,其中动态主机模式和动态从机模式的SSID、Pwd 及要模拟的蓝牙MAC地址。配置完成并保存后,会重启,重启后设备会按照保存的配置运行。若下次要修改设备配置,可以长按BOOT按键,等待BOOT一侧的灯常亮,即进入AP模式,再按照上述流程配置即可。 仅用于蓝牙设备的开发与调试,请勿用于签到等违法违纪用途。 立即下载

相关推荐

YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

app配置中心服务器配置,springboot 配置中心(服务端)

server.port=8089#客户端spring.appliction.name名称spring.cloud.config.server.default-appliction-name=application-app#git仓库地址spring.cloud.config.server.git.uri=https://github.com/Q2518720489/project-config....

weixin_34546240的博客 283

企业级AI助手平台 开箱即用的全栈AI平台,支持多智能体协同、Supervisor模式编排、多种决策模式、RAG技术和流程编排能力 支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化

企业级AI应用开发框架,支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应用与行业解决方案。

Spring boot(4)-应用打包部署

1、Spring Boot内置web Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat、weblogic等等),当然在此之前你要对程序入口做简单调整。 对server的几个...

黄规速博客:学如逆水行舟,不进则退 14万+

基于动态窗口法DWA的机器人路径规划研究(Matlab代码实现)

内容概要:本文系统研究了基于动态窗口法(DWA)的机器人局部路径规划算法,深入剖析其在动态环境中实现自主避障与实时轨迹优化的核心机制。文章详细阐述了DWA算法的速度空间采样策略、轨迹预测模型、动力学约束处理及多目标代价函数的设计原理,并通过构建完整的Matlab仿真框架验证算法有效性。结合典型场景的仿真实验,展示了机器人在复杂障碍物环境下如何实时生成安全、平滑且符合运动学约束的最优路径,充分体现了DWA在移动机器人导航中的实用性与鲁棒性。; 适合人群:具备机器人运动规划基础知识和Matlab编程能力,从事智能移动机器人、自动驾驶或服务机器人研发的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解DWA算法的理论基础与实现细节;②掌握机器人局部路径规划的仿真实现方法;③为实际机器人系统的导航模块开发提供可复用的算法原型与代码参考;④作为进一步研究高级导航算法(如TEB、MPC)的技术基础。; 阅读建议:建议结合提供的Matlab代码逐模块分析与调试,重点关注速度采样、轨迹积分、障碍物距离计算及代价评估等关键环节,通过调整参数在不同地图环境中进行对比实验,以深刻把握算法性能与参数之间的关系,进而提升对实时路径规划系统设计的理解与应用能力。

【轴承故障诊断】用于轴承故障诊断的集中时频分析研究(Matlab代码实现)

内容概要:本文系统研究了用于轴承故障诊断的集中时频分析技术,重点解决了传统时频分析方法在处理非平稳信号时存在的能量分散与分辨率不足等问题。通过引入集中时频分析方法,能够有效聚焦信号能量,精确提取轴承故障特征频率,提升故障识别的准确性与时效性。文章详细阐述了该方法的理论基础,并结合仿真信号与实际实验数据验证其优越性能,同时提供了完整的Matlab代码实现流程,涵盖信号预处理、时频变换、参数优化及结果可视化等环节,便于读者复现与拓展应用。; 适合人群:具备一定信号处理理论基础和Matlab编程能力的研究生、科研人员,以及从事机械设备状态监测、故障诊断与预测性维护工作的工程技术人员。; 使用场景及目标:①应用于电机、风机、齿轮箱等旋转机械的早期轴承故障检测,实现故障预警;②提升工业设备运维系统的智能化水平,支撑预测性维护体系构建;③作为高校或研究机构在信号处理、机械故障诊断等课程中的教学案例与实践素材。; 阅读建议:建议读者结合文中提供的Matlab代码逐段运行与调试,深入理解集中时频分布的生成机制及其关键参数(如核函数选择、平滑窗口大小)对诊断效果的影响,并尝试将其应用于其他类型的机械故障信号分析中,开展对比研究以深化对该方法适用性的认识。

21.SpringCloud实战项目-后台题目类型功能

SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程。对架构、业务、技术要点进行讲解。 PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础。 PassJava 项目可以教会你如何搭建SpringBoot项目,Spring C...

悟空聊架构的专栏 1208

手机移动端-纯js浏览器h5调用摄像头扫描识别解析 条形码+二维码

一、场景 h5原生js 浏览器端解决识别二维码条形码功能; 不借助Hbuilder.需要自己打包成APP,比如用Hbuilder打包,浏览器端项目h5无打包成app部署X不采用 不借助微信扫一扫,调用微信js-jdk有多麻烦,还要认证服务号,也不适用其它浏览器打开X不采用 二、思路 1.思路一:input(相机拍照)+条形码或二维码识别js支持库 通过h5-input[camera]调用相机进行拍照成图片,通过条形码等识别库解析出数据; <input @cha...

徐子厚的博客 3万+

SpringSource Application Platform是一个基于Spring框架的开源应用平台

(如果尝试这样做,请记住,删除Web支持意味着将不再部署Web模块,因此请删除拾取目录的内容,以便平台在启动时不会尝试安装Admin和启动屏幕应用程序。在SpringSource应用程序平台中,应用程序是模块化的,每个模块都有一个个性描述其类型的模块:Web,批处理,Web服务等。平台的核心是动态模块内核(DMK)。:SpringSource Application Platform还提供了构建移动后端服务的能力,支持RESTful API的开发,使得开发者能够为移动应用提供强大的后端支持。

[Blog][Domain] programb.blog.youkuaiyun.com 615

win10下Miracast无线投屏使用教程及异常解决方案(超详细)

文章目录一、什么是Miracast?二、主流的无线投屏技术有哪些特点?三、如何查看自己的win10电脑是否支持Miracast无线投屏功能?四、win10电脑如何使用Miracast无线投屏功能? 一、什么是Miracast? Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连(Wi-Fi Direct)为基础的无线显示标准。支持此标准的3C设备(如智能手机、电视、投影、电脑等...

帅气的小白的博客 44万+

如何使用JMeter进行大模型的压力测试?

使用JMeter进行大模型的压力测试,核心是通过模拟高并发请求,测试大模型在极限负载下的性能表现(如响应时间、吞吐量、错误率、资源瓶颈等)。通过以上步骤,可系统性评估大模型在高压下的性能极限,为优化模型(如量化、蒸馏)、扩容硬件(增加GPU)或调整接口限流策略提供数据依据。)、请求方式(POST)、认证方式(API Key放在Header)、请求参数(作用:避免瞬间高压压垮系统,更精准找到瓶颈点。等)、响应格式(同步/流式)。需获取:API地址(如。通过CSV文件引入不同。

alankuo的专栏 788

springSource Application Platform beta Released

SpringFramework,是领导所有Java/JEE应用程序框架。领导的继续就是SpringSource,Spring的发布对于很多工程有重大意义,提高开发生产力和从改进测试覆盖面和应用程序质量运行环境优化来提供运行时性能。 一:SpringSource Application Platform SpringSource Application Platform是一个完...

denghuaken9487的博客 122

FOC无刷电机磁编码器机械角度与电角度自动对齐校准及电机极对数自动获取的方法

本文提出磁编码器机械角度与电角度自动对齐校准方法及电机极对数自动获取方案。通过通直流电流使转子定向,读取机械角度并计算电角度偏移量,实现精确对齐;同时利用低速旋转时检测反电动势过零点次数,结合机械角度变化量自动计算极对数。核心算法包括转子定向、偏移量计算、极对数推导等步骤,并提供了基于STM32的C语言实现代码。该方法适用于工业伺服、机器人等高精度控制场景,需注意负载安全、参数调整和误差处理。两种自动化流程可有效解决电机安装调试中的角度对齐和参数识别问题。

qq_29653575的博客 2482

Running Spring Applications on OSGi with the SpringSource Application Platform

Engineering Rob Harrop May 02, 2008 A lot of people have been asking what exactly the SpringSource Application Platform does for Spring applications to make them run well under OSGi, over and above what you can get out of the box with OSGi and Spring Dynam

[Blog][Domain] programb.blog.youkuaiyun.com 184

基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践

本文聚焦企业级报告生成场景中 “在线编辑模板 + 动态数据填充” 的核心需求,详细阐述基于 POI-TL、OnlyOffice 与 MinIO 的全栈实现方案。通过代码示例拆解模板加载、文字填充、图表匹配渲染(含通过关系 ID 关联图表与段落的关键逻辑)、报告存储全步骤。最终通过技术组合实现业务人员可视化编辑模板、后端高效填充数据的目标,为同类动态 Word 生成需求提供可复用的实践参考。

imHanweihu的博客 1865

学Simulink--复杂路况场景实例:基于Simulink的智能车辆高速公路行驶仿真(超车与车道变换)

本文详细介绍了基于Simulink的智能车辆高速公路超车仿真系统设计方法。系统包含多车道交通流建模、三层超车决策逻辑(触发条件、可行性检查、执行许可)、五次多项式变道轨迹规划以及横向纵向协同控制等核心模块。通过设定三车道场景(自车初始速度100km/h,前方慢车72km/h),演示了如何实现安全高效的左变道超车全过程(5秒完成3.75m横向移动),并验证了变道平滑性(最大横向加速度1.8m/s²)和安全距离(最小TTC 5.2s)。文章还强调了传感器融合的必要性,并提供了从交通流生成到控制器设计的完整Sim

xiaoheshang_123的博客 397

《开源,开放策略:SpringSource宣言》是一份由SpringSource公司发布的宣言

Spring框架是一个开源的Java应用框架,它提供了一种全面的基础架构支持,旨在简化企业级应用的开发。《开源,开放策略:SpringSource宣言》是一份由SpringSource公司发布的宣言,旨在推动开源软件的发展和普及。每种通知类型在不同的时机执行不同的操作。当Spring容器启动时,它会为需要织入的对象创建代理对象,并在运行时根据配置的切面和通知来增强这些对象的方法。总之,《开源,开放策略:SpringSource宣言》强调了开源软件的重要性和价值,为开源软件的发展提供了指导和支持。

[Blog][Domain] programb.blog.youkuaiyun.com 819

杰理蓝牙SPP用户接口详细文档

本文档详细介绍了基于JL701n芯片的蓝牙SPP用户接口实现。主要内容包括:1) 文件结构分析,包含必要的头文件和调试配置;2) 核心数据结构,如全局变量和TWS功能ID定义;3) 五大功能模块实现:数据发送、状态管理、数据接收、TWS支持和初始化清理;4) API接口说明,包括公共接口函数和回调函数;5) 使用教程,涵盖基本流程和高级应用示例。该接口支持虚拟串口连接,实现蓝牙设备间数据传输,特别针对TWS场景进行了优化,提供连接状态管理、数据收发等功能。文档还包含错误处理、重试机制等实用建议,适合蓝牙SP

qq_42014563的博客 1177

SpringSource Application Platform Manifest Headers

Engineering Glyn Normington May 08, 2008 The SpringSource Application Platform is constructed from OSGi bundles and supports applications which are also constructed from OSGi bundles. The Platform supports the standard features of OSGi, but it also support

[Blog][Domain] programb.blog.youkuaiyun.com 329

Spring AI Alibaba实战训练营-13语音生成应用开发指南

本文介绍了如何基于Spring AI Alibaba创建DashScope语音应用,支持文本转语音(TTS)和语音转文本(STT)功能。主要内容包括:1)环境准备要求Java 17+、Maven 3.6+及阿里云DashScope API Key;2)通过Spring Initializr创建项目并配置相关依赖;3)设置API密钥的安全配置方法;4)实现语音合成的同步和流式功能,包括创建控制器类、调用API接口及保存语音文件。文章提供了详细的代码示例和配置说明,帮助开发者快速搭建语音处理应用。

program哲学 403

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Enterprise Java通常指的是Java EE(Java Platform, Enterprise Edition),这是一个广泛用于开发和运行大型级别的企业级应用的Java平台

可悲的是,我们已经开始把这看作是正常的,并对生产力的后果听之任之。Enterprise Java通常指的是Java EE(Java Platform, Enterprise Edition),这是一个广泛用于开发和运行大型级别的企业级应用的Java平台。最终的结果出人意料地卖得很好,但毫无疑问,它的前部和后部是由不同的团队生产的,并匆忙拼凑在一起。总的来说,AMC的历史是典型的美国汽车工业发展的一个缩影,它见证了美国汽车行业的繁荣、竞争以及重组。然而,随着时间的推移,AMC面临了所有权的变动。

[Blog][Domain] programb.blog.youkuaiyun.com 556

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

以下是对通过该考试合格人员能力的结构化说明,帮助清晰理解其岗位胜任力与职业定位

- **云原生优先**:当前主流趋势是采用容器化(Docker + K8s)和公有云/混合云部署,尤其是微服务架构的应用。 - **分层部署策略**:对敏感数据层(如数据库)采用本地或私有云部署,业务逻辑和前端层采用公有云,实现安全与效率的平衡。 - **自动化工具链**:无论选择哪种部署方式,建议集成 CI/CD 工具(如 Jenkins、GitLab CI)和监控平台(如 Grafana、Prometheus),提升部署效率和可观测性。

[Blog][Domain] programb.blog.youkuaiyun.com 439

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

跟著Qcadoo MES系统学习产品设计

Manufacturing Execution System,MES是工业4.0的核心系统,智能制造的大脑,跟踪Qcadoo MES学习产品设计001

通达的博客 2135
上一篇: mod_rails尝鲜
下一篇: 使用libmmseg实现Ruby的中文分词功能
robbin
博客等级 码龄26年 12粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值