bboss应用程序运行容器使用介绍

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: bboss微服务运行容器使用介绍,通过简单的配置文件,配置主程序需要的依赖库和依赖资源,快速搭建应用程序运行环境容器,切入正题。 微服务容器相关的资源 bboss-rt-xxxx.jar组件,xxxx代表版本号 服务主程序配置文件,可以有多个配置文件,每个对应一个主程序,config.
bboss微服务运行容器使用介绍,通过简单的配置文件,配置主程序需要的依赖库和依赖资源,快速搭建应用程序运行环境容器,切入正题。
微服务容器相关的资源
  • bboss-rt-xxxx.jar组件,xxxx代表版本号
  • 服务主程序配置文件,可以有多个配置文件,每个对应一个主程序,config.properties是默认配置主程序


导入微服务容器组件:
gradle坐标
group: 'com.bbossgroups', name: 'bboss-rt', version: "5.0.5.3",transitive: false


maven坐标
<dependency>
    <groupId>com.bbossgroups</groupId>
    <artifactId>bboss-rt</artifactId>
    <version>5.0.5.3</version>
</dependency>



微服务启动指令:
基于默认配置config.properties启动微服务容器
java -Xms1024m -Xmx1024m -Xmn512m -XX:PermSize=128M -XX:MaxPermSize=128M -jar bboss-rt-xxxx.jar
基于自定义配置config-gradle2.properties启动微服务容器:
java -Xms1024m -Xmx1024m -Xmn512m -XX:PermSize=128M -XX:MaxPermSize=128M -jar bboss-rt-xxxx.jar  --conf=config-gradle2.properties


假设应用程序根目录为:run

将bboss启动应用程序帮助类包bboss-rt.jar文件放到run目录下,bboss-rt.jar文件下载的地址: bboss-rt.jar

一个简单的示例下载地址: 下载
下载下来后,解压运行runcontainer目录下的startup.bat或者startup.sh就可以看运行主程序的效果了。

示例涉及的主程序源码eclipse工程: 下载

运行容器的功能和配置下面详细介绍:
1.配置主程序需要的依赖库和依赖资源

在run目录下放置config.properties文件,内容如下:

mainclass=testclone.Test

mainclass指定了要运行的主程序,将主程序依赖的资源文件放到run/resources目录下,将主程序依赖的jar和其他库文件放到run/lib目录下,这样就可以写下面的运行指令了。
一个示例配置为:
#please set yourself mainclass,this is only a simple example.
mainclass=testclone.Test

#put yourself property parameter here,you can get these parameters use follow codes in your mainclass:
#String port = CommonLauncher.getProperty("port","8080");//同时指定了默认值 
#String contextPath = CommonLauncher.getProperty("context","bigdata");//同时指定了默认值 
#
port=86
context=bigdata

#put yourself extend libs path here,default this tool will always find jars from libs under this project.
#extlibs=/WebRoot/WEB-INF/lib

#put yourself extend resource path here,default this tool will always find resource files from resources under this project.
extresources=/classes



2.编写和运行指令(linux和windows版)

linux

运行文件:在run目录下新建startup.sh文件,内容为:

#!/bin/sh
nohup java -Xms1024m -Xmx1024m -Xmn512m -XX:PermSize=128M -XX:MaxPermSize=128M -jar bboss-rt-5.0.3.1.jar >startup.log &
#指定配置文件方式
#nohup java -Xms1024m -Xmx1024m -Xmn512m -XX:PermSize=128M -XX:MaxPermSize=128M -jar bboss-rt-5.0.3.1.jar --conf=config-gradle.properties > startup.log &
授予可执行权限:chmod +x startup.sh

ok,可以在run目录下,执行./startup.sh,就可以看执行效果了,如果想让你的程序在后台一直运行,那么可以执行以下指令:
nohup ./startup.sh > run.log &

windows

运行文件:在run目录下新建startup.bat文件,内容为:

java -Xms1024m -Xmx1024m -Xmn512m -XX:PermSize=128M -XX:MaxPermSize=128M -jar bboss-rt.jar

ok,可以在run目录下,执行startup.bat,就可以看执行效果了。

3.进阶

bboss-rt.jar工具包会默认加载resources、lib、classes、WebRoot/WEB-INF/classes以及WebRoot/WEB-INF/lib四个目录下的jar、class和资源文件,如果想在config.properties配置一些其他的依赖目录和依赖资源,可以指定extlibs和extresources两个属性,例如:


extlibs=/WebRoot/WEB-INF/lib
extresources=/WebRoot/WEB-INF/classes

多个目录可以用;号分隔,例如:

extlibs=/WebRoot/WEB-INF/lib;/WebRoot/WEB-INF/lib1
extresources=/WebRoot/WEB-INF/classes;/WebRoot/WEB-INF/classes1

如果想在config.properties文件中配置一些其他主程序需要依赖的参数,也是可以的:

port=8080
context=bigdata

那么怎么在主程序中获取这些参数呢,方法如下:
import org.frameworkset.runtime.CommonLauncher;
String port = CommonLauncher.getProperty("port","8080");//同时指定了默认值
String contextPath = CommonLauncher.getProperty("context","bigdata");//同时指定了默认值

如果主程序中需要用到当前运行环境的根目录,则只需要在主程序java类中添加以下方法,即可将根目录文件对象注入到主程序中:
public static void setAppdir(File appdir) {
		approotdir = appdir;
	}

ok,bboss启动应用程序帮助类功能介绍完毕
目录
相关文章
|
1月前
|
Java 测试技术 开发工具
ApplicationArguments读取应用程序参数并注入到IOC容器
ApplicationArguments读取应用程序参数并注入到IOC容器
ApplicationArguments读取应用程序参数并注入到IOC容器
|
1月前
|
运维 Java Go
Go语言基础及其在容器化应用中的优势
【2月更文挑战第23天】本文首先介绍了Go语言的基本特性和优势,然后详细阐述了Go语言在容器化应用中的重要作用和独特优势。通过深入分析Go语言的语法简洁性、并发处理能力和内存管理特性,以及Docker容器技术的轻量级、可移植性和版本控制特点,本文旨在说明Go语言与Docker容器技术的结合能够显著提升应用的开发效率和部署灵活性,为现代软件开发和运维带来革命性的变革。
|
1月前
|
Oracle 关系型数据库 数据库
|
13天前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
24 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
1月前
|
存储 安全 算法
【C++ 17 包裹类 泛型容器 std::any】深入理解与应用C++ std::any:从泛型编程到多态设计
【C++ 17 包裹类 泛型容器 std::any】深入理解与应用C++ std::any:从泛型编程到多态设计
49 1
|
1月前
|
边缘计算 Kubernetes 负载均衡
容器编排技术在云计算中的应用
随着云计算技术的飞速发展,容器编排技术作为一种重要的部署和管理工具,正在逐渐成为云计算领域的热门话题。本文将介绍容器编排技术在云计算中的应用,探讨其在提高应用程序部署效率、资源利用率以及系统可靠性方面的优势,并分析其未来发展趋势。
|
1月前
|
JavaScript Shell Docker
|
1月前
|
Kubernetes Go 开发者
Go语言与Docker容器结合的实践应用与案例分析
【2月更文挑战第23天】本文通过分析实际案例,探讨了Go语言与Docker容器技术结合的实践应用。通过详细阐述Go语言在容器化环境中的开发优势,以及Docker容器技术在Go应用部署中的重要作用,本文旨在为读者提供Go语言与Docker容器结合的具体实现方法和实际应用场景。
|
1月前
|
存储 Kubernetes 云计算
云计算基础与实战:从虚拟机到容器化应用
云计算基础与实战:从虚拟机到容器化应用
32 0
|
2月前
|
NoSQL Redis Docker
深入浅出:使用Docker容器化改进Python应用部署
在快速演进的软件开发领域,持续集成和持续部署(CI/CD)已成为加速产品上市的关键。本文将探索如何利用Docker,一种流行的容器化技术,来容器化Python应用,实现高效、可靠的部署流程。我们将从Docker的基本概念入手,详细讨论如何创建轻量级、可移植的Python应用容器,并展示如何通过Docker Compose管理多容器应用。此外,文章还将介绍使用Docker的最佳实践,帮助开发者避免常见陷阱,优化部署策略。无论是初学者还是有经验的开发人员,本文都将提供有价值的见解,助力读者在自己的项目中实现容器化部署的转型。