Java Application Service Java 应用服务框架

2024-03-07 12:32

本文主要是介绍Java Application Service Java 应用服务框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

概述:

Java Application Service Java应用程序服务,简称JASJAS是专门用来运行Java应用程序的一个组件,其唯一的使命就是运行Java应用程序。平常我们用Java做一个网站,其实是一个web应用程序,一般放在tomcat上运行,我们配置web.xml文件等,都是tomcat规定你要这样子配置才能够允许在tomcat中运行,这个时候,tomcat充当的就是一个web应用程序运行容器的一个角色。然而在很多时候,我们会编写一些后台的服务,守护进程需要不断运行的程序往往找不到合适的方法让程序运行。在window上,可以在命令行上使用java命令将程序运行,但是这会弹出一个黑框,一旦黑框关闭,程序也自动关闭了。在Linux上虽然可以让其后台运行,但是一旦程序运行出错,也就关闭了。出于一个热爱编程的开发者的身份来考虑,总希望自己的程序能够得到统一的管理,也就是:编写一个程序运行的内核,以后只需要实现某些接口或者按照某些规则开发即可方便完成应用程序的开发!

 

JAS优点:

         基于此服务的应用程序可以快速开发部署,方便对各组件的管理。

         基于此服务可以避免程序运行尴尬现象

         基于此服务可以开发大型后台服务

 

JAS引擎架构:


JAS部署目录:

 

F:/Root     /bin           服务启动,关闭脚本,JNI应用程序存放处

                   /conf        服务配置文件存放处

                   /lib             服务内核类库

                   /logs         服务运行日志

                   /app          外部服务存放目录

 

JAS部署内核Jar包:

bootstrap.jar JAS启动类库,初始化JAS的类加载库)

kernel-version.jar JAS内核类库,version是内核版本)

 

JAS的类装载体系:



 JAS类加载的设计是为了将应用程序隔离开来,一来保护JAS内核,二来隔离多个App服务,解决类重复加载和类冲突问题!

 

JAS生命周期

JAS使用事件驱动机制,内核服务生命周期由LifeCycleLifeCycleListenerLifeCycleEvent进行管理,提供一个LifeCycleSupport类。

 

JAS内核服务开发

         方式1:继承cn.std.mos.service.StanderService类,覆盖public void serv() throws SecurityException 方法,服务运行业务就在serv方法内实现,如果需要不断运行服务,则需要使用while(started)循环,循环控制条件started,是父类StanderService属性

         方式2:参考cn.std.mos.service.StanderService类,实现LifecycleListenerService接口,相对来说,第一种方式比较方便

 

服务启动:服务启动是根据conf目录下的配置文件kernel.xml配置来指定,



 每开发一个服务,只需要添加一个节点



 其中<name>节点是系统服务类名,需要全称,包括包名<type>节点,需要一个值AUTO_START,此值为自动启动<name>节点上指定的服务,其他值则不启动服务。

至此,一个系统服务开发完毕。

 

JAS外部服务开发

外部服务是跟内核服务隔离的服务,每个服务是一个独立的项目,可加载项目依赖的jar包,并且每个服务之间相互隔离,互不影响。

JAS外部服务放在app目录下,此目录可以在confmos.properties配置文件下配置,配置key值是service.dir,采用相对路径配置,相对于JAS系统工作目录,也就是bin文件夹所在的目录。

每一个外部服务的结构都采用这种结构

app /serv     /conf        服务的配置文件

                            /lib             服务所需要的jar

                            /logs         服务日志存放处

                            /serv.xml 服务主配置文件

/serv.xml配置文件主要配置两个值



 JAS在启动外部服务的时候会自动去/lib目录下加载jar包,然后找到<class>节点下的入口类,生成一个实例,调用<method>节点下的入口方法,程序开始运行。

 

服务框架就说到此处,在后续的日子会继续完善,敬请关注,哈哈哈....

附件:src.rar 包含(bootstrap.jar 源码 Kernel-version.jar 源码) 源码发布方式直接是EClipse项目

mos.rar 此包是在window上部署为服务运行,执行bin目录下的相关脚本即可,配置文件在conf目录下。

 

 

这篇关于Java Application Service Java 应用服务框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783533

相关文章

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.