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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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启动应用程序帮助类功能介绍完毕
目录
相关文章
|
16天前
|
关系型数据库 MySQL API
|
3天前
|
存储 安全 Java
Java多线程编程中的并发容器:深入解析与实战应用####
在本文中,我们将探讨Java多线程编程中的一个核心话题——并发容器。不同于传统单一线程环境下的数据结构,并发容器专为多线程场景设计,确保数据访问的线程安全性和高效性。我们将从基础概念出发,逐步深入到`java.util.concurrent`包下的核心并发容器实现,如`ConcurrentHashMap`、`CopyOnWriteArrayList`以及`BlockingQueue`等,通过实例代码演示其使用方法,并分析它们背后的设计原理与适用场景。无论你是Java并发编程的初学者还是希望深化理解的开发者,本文都将为你提供有价值的见解与实践指导。 --- ####
|
27天前
|
Kubernetes 监控 Cloud Native
|
10天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
10天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
12天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
18天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
54 1
|
5天前
|
Kubernetes 监控 安全
容器化技术:Docker与Kubernetes的实战应用
容器化技术:Docker与Kubernetes的实战应用
|
12天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
39 0
|
1月前
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
下一篇
无影云桌面