之前一篇介绍了如何在WildFly中创建多个基于standalone模式的实例,这一篇来介绍一下如何为这些不同的instances在Windows Server中创建不同的服务。也许你此时此刻很好奇,为什么要为WildFly创建Windows Service。如果你有在Windows Server上维护许多不同WildFly实例的经历,我想你就会对这个问题感同身受。在Windows Server创建为Windows Service有很多好处,其中最明显的就是在Windows Server计划或者无计划重启/宕机之后,你可以很轻松的在你的Windows Server重启之后自动启动那些实例。
废话了一堆,我们直接进入正题,在开始之前我假设你已经成功在你的WildFly里搭建了数个基于standalone模式的实例。提到Windows,大部分人都会首先想到exe。没错,一个windows service其实也是一个exe。那么我们应该去哪里找这个exe呢?总不至于自己写吧。其实WildFly已经为我们提供了我们想要的一切。
不过寻找exe之前,我们需要先在Windows的环境变量中配置JBOSS_HOME,指向WildFly的根目录。
之后进入%JBOSS_HOME%\bin\service目录,你可以看到两个exe文件,在amd64目录下面,你也能找到一个同名的exe文件。
创建Windows Service,我们需要的是wildfly-service.exe这个文件,在%JBOSS_HOME%\bin\service目录下的wildfly-service.exe是基于32位系统的可执行文件,同理amd64目录下则是针对64bit的exe。由于我是64位的系统,我就以64bit exe为例。
首先进入%JBOSS_HOME%\bin\service\amd64目录,把wildfly-service.exe文件拷贝到某个目录,改个名字,比如wildfly-service-standalone.exe,之后在把改过名字的文件剪切回%JBOSS_HOME%\bin\service\amd64目录。
之后,我们退回到%JBOSS_HOME%\bin\service\目录下,为service.bat这个文件做同样的操作。
用文本编辑器编辑,我们新复制并改名的service-standalone.bat文件。修改第20、21、22行,为SHORTNAME, DISPLAYNAME和DESCRIPTION提供一个唯一的值,在这里我们简单的都为其加上-standalone的后缀。这里我们提供的Name和Description将来会被显示在我们创建的Windows service中,因此他必须是唯一的。
接下来我们转到文件的第60行,把service所对应的exe文件改为我们刚刚复制并改名的那个。如果你是32位的系统,则需要修改第63行。
继续转到line 93 and line 94,由于我当前设置的standalone实例是WildFly的默认实例,因此实例所使用的端口都是标准端口,因此line 93不需要修改,如果你为你的instance设置了端口偏移量,比如100(-Djboss.socket.binding.port-offset=100),那么这里把localhost:9990改为localhost:10090。line 94, 因为我们是standalone模式下的instance,因此删掉master,把DC_HOST这个配置项留空。
之后我们来到line 177和line 179,在这里我们指定当前的这个实例启动文件、根目录以及端口偏移量。这里的配置和之前第一篇我们创建bat文件里所提供的配置基本相同。在这里我使用默认的standalone实例,但是为了演示,我依然添加了启动文件、根目录以及端口偏移量的配置项。line 177修改完成之后,修改line 179的日志路径,因为我这里使用的是默认实例,因此不做任何修改。
至此我们完成了基本的配置工作,接下来就需要来install这个service了,打开控制台进入%JBOSS_HOME%\bin\service目录键入service-standalone.bat install
提示成功之后,我们在Windows Service中就能找到我们刚创建的Service了
试着启动一下,回到standalone的log目录下,我们会发现多了几个文件。
之后打开日志验证,已经成功启动。
2016-04-12 00:21:46,348 INFO [org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService$ResourceAdapterActivator] (MSC service thread 1-7) IJ020002: Deployed: file://RaActivatorhornetq-ra 2016-04-12 00:21:46,350 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-6) WFLYJCA0002: Bound JCA ConnectionFactory [java:/JmsXA] 2016-04-12 00:21:46,350 INFO [org.jboss.as.messaging] (MSC service thread 1-1) WFLYMSG0002: Bound messaging object to jndi name java:jboss/DefaultJMSConnectionFactory 2016-04-12 00:21:46,775 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management 2016-04-12 00:21:46,776 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990 2016-04-12 00:21:46,777 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 9.0.2.Final (WildFly Core 1.0.2.Final) started in 5049ms - Started 240 of 414 services (222 services are lazy, passive or on-demand)
同理,如果我们想uninstall这个service呢?很简单,首先停到你需要uninstall的service,之后打开控制台进入%JBOSS_HOME%\bin\service目录键入service-standalone.bat uninstall
控制台除了支持install和uninstall命令之外,还支持start, stop以及restart命令,在service-standalone.bat文件中的line 66到line 70也可以找到。
至此,我们便完成Windows Service的配置工作,你可以根据你的实际情况来install任意个你需要的Service。
相关推荐
在大型企业环境中,通常需要配置多个独立的Wildfly实例以实现高可用性和负载均衡。本教程将深入讲解如何在Linux环境(CentOS)下配置Wildfly9的多实例,以及使用JDK8和shell脚本来管理这些实例。 首先,确保你已经...
支持集群部署,可以创建多个服务器实例来实现负载均衡和故障转移,确保高可用性和容错性。 6. **安全性**: 内置的安全机制包括角色基的访问控制(RBAC)、HTTPS支持、以及集成的身份验证和授权服务,如JAAS...
2. **Message Broker**:在WildFly中,JMS服务由内置的 HornetQ 消息代理(在较新版本中替换为ActiveMQ Artemis)提供。Message Broker负责存储和转发消息。 3. **Queue与Topic**:JMS中有两种主要的消息目的地类型...
为了提高Keycloak的可用性和性能,您可以部署多个实例并配置负载均衡器。Keycloak支持数据复制和集群模式,确保服务的高可用性。 通过以上步骤,您应该能够成功安装并配置Keycloak服务,使其成为您的系统中的可靠...
- 集群配置:通过配置多个JBoss实例并共享同一持久化存储,实现高可用性和故障转移。 - 负载均衡:结合Apache HTTPD或Nginx反向代理,根据负载策略将请求分发到各个服务器节点。 6. **日志管理** - 日志配置:...
- 高并发:MDB适合处理大量并发请求,因为它可以创建多个实例并行处理消息,避免单个线程成为瓶颈。 - 异步处理:当需要执行耗时操作时,MDB可以将任务放入队列,然后返回响应,让后台线程处理,提高系统响应速度...
总结,drools工作台7.8的部署涉及到多个步骤,包括环境配置、war文件或源码部署、服务器配置以及后期的使用和管理。通过理解其核心组件和工作流程,我们可以更好地利用这个强大的业务规则管理平台,进行高效、灵活的...
标题:“JBPM修改数据库实例”涉及的是在JBPM(Java Business Process Management)系统中,如何将默认使用的H2内存数据库替换为更强大的MySQL或PostgreSQL数据库。这一过程通常是为了满足生产环境的需求,因为H2...
其集群配置允许将多个服务器实例组织成一个逻辑单元,从而实现负载均衡、故障转移和资源共享。配置WebLogic集群主要涉及以下几个步骤: 1. **创建集群**:在WebLogic管理控制台中,管理员需要创建一个新的集群,并...
- **集群配置**:通过配置多个JBoss实例组成集群,实现负载均衡和故障转移,提高系统可用性。 - **Infinispan缓存**:JBoss内置Infinispan,提供分布式缓存服务,进一步提升集群性能。 总的来说,JBoss作为一个...
通过负载均衡,可以将大量的网络请求分发到多个服务器上,避免单一服务器过载,确保服务的稳定性和响应速度。在本案例中,描述中提到了使用httpd-2.2.17(Apache HTTP Server 2.2.17)与mod_jk.so模块来实现这一目标...
- **集群配置**:通过配置多个JBoss实例,实现高可用性和负载均衡。 - **模块化**:JBoss的模块系统允许你精细控制依赖关系,提升性能和可维护性。 - **热部署**:启用热部署功能,使得在不中断服务的情况下更新应用...
`standalone-ha.xml`是WildFly服务器的一种配置模式,它支持高可用性和集群功能,允许多个服务器实例协同工作,共同处理请求,提高服务的稳定性和性能。 在集群环境中,WildFly实例可以共享负载,如果一个实例出现...
JBoss采用了模块化设计,包含多个组件,如Application Server、Data Grid、EAP(Enterprise Application Platform)、WildFly等,它们各自负责不同的功能,协同工作以提供完整的应用程序托管环境。 二、JBoss开发...
1. **创建系统服务**:为了使JBoss作为后台服务运行,可以创建一个系统服务。例如,在Systemd环境中,创建`/etc/systemd/system/jboss.service`文件: ``` [Unit] Description=JBoss Application Server After=...
2. **domain.xml**:当JBoss在域模式下运行时,这个文件负责管理多个服务器实例的配置。 3. **host.xml**:在域模式下,每个主机控制器都有一个host.xml文件,用于配置主机特定的设置。 4. **configuration....
在部署过程中遇到了多个问题,主要包括: 1. **JBossAware不支持JBoss7.1.1** - EOS应用中的`JBossAware`类用于获取服务器相关信息,原版本仅支持至JBoss 6,因此需要修改代码以适应JBoss 7.x的配置文件和目录结构...
Drools 7.4.1 Workbench 是一个基于规则引擎的开发平台,主要用于创建、管理和执行业务规则。它基于JBOSS Wildfly应用服务器,提供了直观的Web界面供用户进行规则开发。在这个场景中,我们需要关注的是如何在Apache ...
该模式下可以通过一个中心化的管理节点(即域控制器)来统一管理多个运行节点,简化了维护和管理的工作量。 本文将详细介绍如何在 Linux 系统下搭建 JBoss EAP 集群,包括域模式下的配置及 mod_cluster 的集成,以...